847total
272passed
559failed
skipped
16setup errors
294warnings
32.1%pass rate
13m 49sduration

LLM Tests

SDKBasic Error LLM TestBasic LLM TestConversation ID LLM TestLong Input LLM TestMulti-Turn LLM TestVision LLM Test
browser/anthropic
browser/google-genai
browser/langchain
browser/openai
cloudflare/anthropic
cloudflare/google-genai
cloudflare/langchain
cloudflare/openai
nextjs/anthropic
nextjs/google-genai
nextjs/langchain
nextjs/openai
node/anthropic
node/google-genai
node/langchain
node/manual-
node/openai
python/anthropic
python/google-genai
python/langchain
python/litellm
python/manual-
python/openai

Agent Tests

SDKBasic Agent TestConversation ID Agent TestLong Input Agent TestTool Call Agent TestTool Error Agent TestVision Agent Test
cloudflare/langgraph
cloudflare/vercel
nextjs/mastra-
nextjs/vercel
node/langgraph
node/manual
node/mastra
node/vercel
python/langgraph
python/manual
python/openai-agents
python/pydantic-ai

Embeddings Tests

SDKBasic Embeddings Test
browser/google-genai
browser/langchain
browser/openai
cloudflare/google-genai
cloudflare/langchain
cloudflare/openai
cloudflare/vercel
nextjs/google-genai
nextjs/langchain
nextjs/openai
nextjs/vercel
node/google-genai
node/langchain
node/openai
node/vercel
python/google-genai
python/langchain
python/litellm
python/manual
python/openai
Filters

Setup Errors (16)

python/openai-agents :: Basic Agent Test (async)Setup11284ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-basic-agent-test-async.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-basic-agent-test-async.py", line 42, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-basic-agent-test-async.py", line 35, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-basic-agent-test-async.py", line 42, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-basic-agent-test-async.py", line 35, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing
python/openai-agents :: Tool Call Agent Test (async)Setup10071ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-call-agent-test-async.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-call-agent-test-async.py", line 53, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-call-agent-test-async.py", line 46, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-call-agent-test-async.py", line 53, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-call-agent-test-async.py", line 46, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing
python/openai-agents :: Tool Error Agent Test (async)Setup10155ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-error-agent-test-async.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-error-agent-test-async.py", line 48, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-error-agent-test-async.py", line 41, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-error-agent-test-async.py", line 48, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-tool-error-agent-test-async.py", line 41, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing
python/openai-agents :: Vision Agent Test (async)Setup10130ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-vision-agent-test-async.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-vision-agent-test-async.py", line 42, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-vision-agent-test-async.py", line 35, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-vision-agent-test-async.py", line 42, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-vision-agent-test-async.py", line 35, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing
python/openai-agents :: Long Input Agent Test (async)Setup8291ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-long-input-agent-test-async.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-long-input-agent-test-async.py", line 48, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-long-input-agent-test-async.py", line 41, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-long-input-agent-test-async.py", line 48, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-long-input-agent-test-async.py", line 41, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing
python/openai-agents :: Conversation ID Agent Test (async)Setup8473ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-conversation-id-agent-test-async.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-conversation-id-agent-test-async.py", line 73, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-conversation-id-agent-test-async.py", line 36, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-conversation-id-agent-test-async.py", line 73, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/test-conversation-id-agent-test-async.py", line 36, in main
    result = await Runner.run(agent, input=prompt)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 377, in run
    return await runner.run(
           ^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 217, in wrapper
    reraise(*exc_info)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/utils.py", line 1829, in reraise
    raise value
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/sentry_sdk/integrations/openai_agents/patches/runner.py", line 179, in wrapper
    run_result = await original_func(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/run.py", line 597, in run
    context_wrapper: RunContextWrapper[TContext] = RunContextWrapper(
                                                   ^^^^^^^^^^^^^^^^^^
  File "<string>", line 4, in __init__
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py", line 121, in __init__
    s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s)
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/agents/usage.py", line 64, in <lambda>
    ] = field(default_factory=lambda: InputTokensDetails(cached_tokens=0))
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/openai-agents-agents-0.7.0-sentry-latest/.venv/lib/python3.12/site-packages/pydantic/main.py", line 263, in __init__
    validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 1 validation error for InputTokensDetails
cache_write_tokens
  Field required [type=missing, input_value={'cached_tokens': 0}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.13/v/missing
python/litellm :: Basic LLM Test (async, streaming, responses, anthropic)Setup12855ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-streaming-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-streaming-responses-anthropic.py", line 54, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-streaming-responses-anthropic.py", line 54, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Basic LLM Test (async, blocking, responses, anthropic)Setup13691ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-blocking-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-blocking-responses-anthropic.py", line 46, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-blocking-responses-anthropic.py", line 46, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-basic-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Multi-Turn LLM Test (async, streaming, responses, anthropic)Setup9581ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-streaming-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-streaming-responses-anthropic.py", line 124, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-streaming-responses-anthropic.py", line 124, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Multi-Turn LLM Test (async, blocking, responses, anthropic)Setup3991ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-blocking-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-blocking-responses-anthropic.py", line 100, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-blocking-responses-anthropic.py", line 100, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-multi-turn-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Vision LLM Test (async, streaming, responses, anthropic)Setup13152ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-streaming-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-streaming-responses-anthropic.py", line 57, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-streaming-responses-anthropic.py", line 57, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Vision LLM Test (async, blocking, responses, anthropic)Setup13510ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-blocking-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-blocking-responses-anthropic.py", line 49, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-blocking-responses-anthropic.py", line 49, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-vision-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Long Input LLM Test (async, streaming, responses, anthropic)Setup13793ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-streaming-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-streaming-responses-anthropic.py", line 54, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-streaming-responses-anthropic.py", line 54, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-streaming-responses-anthropic.py", line 30, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Long Input LLM Test (async, blocking, responses, anthropic)Setup12294ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-blocking-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-blocking-responses-anthropic.py", line 46, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-blocking-responses-anthropic.py", line 46, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-long-input-llm-test-async-blocking-responses-anthropic.py", line 30, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Conversation ID LLM Test (async, streaming, responses, anthropic)Setup8446ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-streaming-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-streaming-responses-anthropic.py", line 143, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-streaming-responses-anthropic.py", line 31, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2310, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-streaming-responses-anthropic.py", line 143, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-streaming-responses-anthropic.py", line 31, in main
    stream = await litellm.aresponses(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}
python/litellm :: Conversation ID LLM Test (async, blocking, responses, anthropic)Setup6528ms
Test execution failed: Command failed: /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/bin/python /home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-blocking-responses-anthropic.py
Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-blocking-responses-anthropic.py", line 111, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-blocking-responses-anthropic.py", line 31, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2344, in async_response_api_handler
    response = await async_httpx_client.post(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/logging_utils.py", line 297, in async_wrapper
    result = await func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 513, in post
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/http_handler.py", line 469, in post
    response.raise_for_status()
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/httpx/_models.py", line 829, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://openrouter.ai/api/v1/responses'
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 558, in aresponses
    response = await init_response
               ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 2353, in async_response_api_handler
    raise self._handle_error(
          ^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/custom_httpx/llm_http_handler.py", line 4720, in _handle_error
    raise provider_config.get_error_class(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/responses/transformation.py", line 214, in get_error_class
    raise BaseLLMException(
litellm.llms.base_llm.chat.transformation.BaseLLMException: {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-blocking-responses-anthropic.py", line 111, in <module>
    asyncio.run(main())
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.14/x64/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/test-conversation-id-llm-test-async-blocking-responses-anthropic.py", line 31, in main
    response = await litellm.aresponses(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 2094, in wrapper_async
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/utils.py", line 1893, in wrapper_async
    result = await original_function(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/responses/main.py", line 580, in aresponses
    raise litellm.exception_type(
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2456, in exception_type
    raise e
  File "/home/runner/work/testing-ai-sdk-integrations/testing-ai-sdk-integrations/runs/python/litellm-llm-1.82.6-sentry-latest/.venv/lib/python3.12/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2318, in exception_type
    raise BadRequestError(
litellm.exceptions.BadRequestError: litellm.BadRequestError: OpenrouterException - {"error":{"message":"openrouter/anthropic/claude-haiku-4-5 is not a valid model ID","code":400},"user_id":"org_3EhQG4RoP3fjd0THnWHU2DMcQDk"}

Failed Tests (559)

cloudflare/langgraph :: Basic Agent Test (openai)❗︎ 1⚠︎ 118365ms
checkAgentSpanAttributes
checkChatSpanAttributes
9a67079cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9a67079cgen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9a67079cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-agent-test",
    "op": "test",
    "parent_span_id": "88a9ab165b742b62",
    "span_id": "8a9c3b600ec9d16e",
    "start_timestamp": 1787552438.787,
    "timestamp": 1787552439.648,
    "trace_id": "0d65a55335664b588c7859172a1d3649",
    "origin": "manual"
  },
  {
    "span_id": "88a9ab165b742b62",
    "trace_id": "0d65a55335664b588c7859172a1d3649",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.783,
    "timestamp": 1787552439.65,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30625/",
      "url.port": "30625",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30625",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a0a0556435cf1f54",
    "trace_id": "0d65a55335664b588c7859172a1d3649",
    "parent_span_id": "8a9c3b600ec9d16e",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552438.787,
    "timestamp": 1787552439.644,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a67079ce44655ef",
    "trace_id": "0d65a55335664b588c7859172a1d3649",
    "parent_span_id": "a0a0556435cf1f54",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552438.805,
    "timestamp": 1787552439.641,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.id": "chatcmpl-EGIKtgPFIkQY5mU3EOX46GNvzfjmy",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langgraph :: Basic Agent Test (anthropic)❗︎ 1 1⚠︎ 117570ms
checkAgentSpanAttributes
checkChatSpanAttributes
ad5f1638gen_ai.usage.input_tokensSpan ad5f1638: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
ad5f1638gen_ai.usage.output_tokensSpan ad5f1638: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkValidTokenUsage
8a9cd6dfgen_ai.usage.input_tokensinput_tokens must exist
8a9cd6dfgen_ai.usage.output_tokensoutput_tokens must exist
8a9cd6dfgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
ad5f1638gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-agent-test",
    "op": "test",
    "parent_span_id": "8ff8c0f356f769e4",
    "span_id": "b6b524d2482b22f4",
    "start_timestamp": 1787552438.587,
    "timestamp": 1787552438.898,
    "trace_id": "83e8c33fd5f1485b8e6de243c5c35000",
    "origin": "manual"
  },
  {
    "span_id": "8ff8c0f356f769e4",
    "trace_id": "83e8c33fd5f1485b8e6de243c5c35000",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.583,
    "timestamp": 1787552438.901,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30627/",
      "url.port": "30627",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30627",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8a9cd6df48db9127",
    "trace_id": "83e8c33fd5f1485b8e6de243c5c35000",
    "parent_span_id": "b6b524d2482b22f4",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552438.587,
    "timestamp": 1787552438.898,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "ad5f1638899509c3",
    "trace_id": "83e8c33fd5f1485b8e6de243c5c35000",
    "parent_span_id": "8a9cd6df48db9127",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552438.615,
    "timestamp": 1787552438.887,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langgraph :: Tool Call Agent Test (openai)❗︎ 1⚠︎ 119749ms
checkAgentSpanAttributes
checkChatSpanAttributes
b94de213gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b94de213gen_ai.output.messagesMissing output messages attribute
b78331fegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b78331fegen_ai.output.messagesMissing output messages attribute
8dcf7495gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8dcf7495gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
checkInputMessagesSchema
checkResponseModel
b94de213gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b78331fegen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8dcf7495gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(4 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "tool-call-agent-test",
    "op": "test",
    "parent_span_id": "a1187c026357a5da",
    "span_id": "a86937497afb0271",
    "start_timestamp": 1787552438.26,
    "timestamp": 1787552441.066,
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "origin": "manual"
  },
  {
    "span_id": "a1187c026357a5da",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.243,
    "timestamp": 1787552441.068,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30626/",
      "url.port": "30626",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30626",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bc1d474710652778",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "parent_span_id": "a86937497afb0271",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552438.261,
    "timestamp": 1787552441.062,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\":\"add\",\"description\":\"Add two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}},{\"name\":\"multiply\",\"description\":\"Multiply two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.tool_calls": "[{\"name\":\"add\",\"args\":{\"a\":3,\"b\":5},\"type\":\"tool_call\",\"id\":\"call_XF8rDVrEc6bhDtMNcddib6c0\"},{\"name\":\"multiply\",\"args\":{\"a\":8,\"b\":4},\"type\":\"tool_call\",\"id\":\"call_pl8F5V4EAzmOr4JVFChJ8tjR\"}]",
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"8\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"32\"},{\"role\":\"assistant\",\"content\":\"The result of \\\\((3 + 5) * 4\\\\) is \\\\(32\\\\).\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 441,
      "gen_ai.usage.output_tokens": 55,
      "gen_ai.usage.total_tokens": 496
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b94de213de9a53f7",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "parent_span_id": "bc1d474710652778",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552438.357,
    "timestamp": 1787552439.624,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"add\",\"args\":{\"a\":3,\"b\":5},\"type\":\"tool_call\",\"id\":\"call_XF8rDVrEc6bhDtMNcddib6c0\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 118,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 135,
      "gen_ai.response.id": "chatcmpl-EGIKt2wDxI33QyLjLdwKRxS9Mg7HJ",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ab545a904201f5cb",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "parent_span_id": "bc1d474710652778",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552439.628,
    "timestamp": 1787552439.63,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.tool.call.id": "call_XF8rDVrEc6bhDtMNcddib6c0",
      "gen_ai.tool.input": "{\"a\":3,\"b\":5}",
      "gen_ai.tool.output": "8"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b78331fe90c4c031",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "parent_span_id": "bc1d474710652778",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552439.632,
    "timestamp": 1787552440.352,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"8\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"multiply\",\"args\":{\"a\":8,\"b\":4},\"type\":\"tool_call\",\"id\":\"call_pl8F5V4EAzmOr4JVFChJ8tjR\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 147,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 164,
      "gen_ai.response.id": "chatcmpl-EGIKtYBRLKwko3hZUUOlNKDI01yzd",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82d6b372c06d48be",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "parent_span_id": "bc1d474710652778",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552440.354,
    "timestamp": 1787552440.355,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.tool.call.id": "call_pl8F5V4EAzmOr4JVFChJ8tjR",
      "gen_ai.tool.input": "{\"a\":8,\"b\":4}",
      "gen_ai.tool.output": "32"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8dcf749513a883c6",
    "trace_id": "71146a5b07c84cd3a3fba780bd108e16",
    "parent_span_id": "bc1d474710652778",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552440.357,
    "timestamp": 1787552441.06,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"8\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"32\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The result of \\\\((3 + 5) * 4\\\\) is \\\\(32\\\\).\"]",
      "gen_ai.usage.input_tokens": 176,
      "gen_ai.usage.output_tokens": 21,
      "gen_ai.usage.total_tokens": 197,
      "gen_ai.response.id": "chatcmpl-EGIKu6T5msJkiRMsCWw58gU02DI4z",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langgraph :: Tool Call Agent Test (anthropic)❗︎ 2 3⚠︎ 116793ms
checkAgentSpanAttributes
checkChatSpanAttributes
8294ffa8gen_ai.usage.input_tokensSpan 8294ffa8: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8294ffa8gen_ai.usage.output_tokensSpan 8294ffa8: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
checkValidTokenUsage
9e857196gen_ai.usage.input_tokensinput_tokens must exist
9e857196gen_ai.usage.output_tokensoutput_tokens must exist
9e857196gen_ai.usage.total_tokenstotal_tokens must exist
checkAvailableTools
checkResponseToolCalls(add, multiply)
8294ffa8gen_ai.output.messagesShould have at least 2 tool call(s) in response but found 0
checkToolCalls(add, multiply)
Should have at least 2 tool span(s) but found 0
checkInputMessagesSchema
checkResponseModel
8294ffa8gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "tool-call-agent-test",
    "op": "test",
    "parent_span_id": "81a51b9f1bb403b8",
    "span_id": "8deda5e382c552db",
    "start_timestamp": 1787552437.817,
    "timestamp": 1787552438.043,
    "trace_id": "f6286d19354344369a169aafadd811c6",
    "origin": "manual"
  },
  {
    "span_id": "81a51b9f1bb403b8",
    "trace_id": "f6286d19354344369a169aafadd811c6",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552437.776,
    "timestamp": 1787552438.056,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30628/",
      "url.port": "30628",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30628",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9e857196ea3b2f13",
    "trace_id": "f6286d19354344369a169aafadd811c6",
    "parent_span_id": "8deda5e382c552db",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552437.817,
    "timestamp": 1787552438.039,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.available_tools": "[{\"name\":\"add\",\"description\":\"Add two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}},{\"name\":\"multiply\",\"description\":\"Multiply two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8294ffa812ed6bf8",
    "trace_id": "f6286d19354344369a169aafadd811c6",
    "parent_span_id": "9e857196ea3b2f13",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552437.864,
    "timestamp": 1787552438,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langgraph :: Tool Error Agent Test (openai)❗︎ 1⚠︎ 119551ms
checkAgentSpanAttributes
checkChatSpanAttributes
bb8a4b7bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb8a4b7bgen_ai.output.messagesMissing output messages attribute
8ef5de3egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ef5de3egen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
checkResponseModel
bb8a4b7bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8ef5de3egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.response.stop_reason(2 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "tool-error-agent-test",
    "op": "test",
    "parent_span_id": "8f6584aac7865949",
    "span_id": "b8461f83edda5e02",
    "start_timestamp": 1787552437.79,
    "timestamp": 1787552440.862,
    "trace_id": "5b126c78364145e191ab982c493b97db",
    "origin": "manual"
  },
  {
    "span_id": "8f6584aac7865949",
    "trace_id": "5b126c78364145e191ab982c493b97db",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552437.737,
    "timestamp": 1787552440.863,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30629/",
      "url.port": "30629",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30629",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "91351ec6dc738f35",
    "trace_id": "5b126c78364145e191ab982c493b97db",
    "parent_span_id": "b8461f83edda5e02",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552437.79,
    "timestamp": 1787552440.861,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\":\"read_file\",\"description\":\"Read the contents of a file\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.tool_calls": "[{\"name\":\"read_file\",\"args\":{\"path\":\"/nonexistent/file.txt\"},\"type\":\"tool_call\",\"id\":\"call_xL62VRck9VX7V9qTKqNvPcgT\"}]",
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"Error: FileNotFoundError: The file '/nonexistent/file.txt' does not exist\\n Please fix your mistakes.\"},{\"role\":\"assistant\",\"content\":\"The file '/nonexistent/file.txt' does not exist, so I couldn't read its contents. If you meant to provide a different file or location, please let me know!\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 205,
      "gen_ai.usage.output_tokens": 54,
      "gen_ai.usage.total_tokens": 259
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb8a4b7b07e14fbb",
    "trace_id": "5b126c78364145e191ab982c493b97db",
    "parent_span_id": "91351ec6dc738f35",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552437.972,
    "timestamp": 1787552439.75,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"read_file\",\"description\":\"Read the contents of a file\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"read_file\",\"args\":{\"path\":\"/nonexistent/file.txt\"},\"type\":\"tool_call\",\"id\":\"call_xL62VRck9VX7V9qTKqNvPcgT\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 76,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 94,
      "gen_ai.response.id": "chatcmpl-EGIKt6QCdJIRq3w4H4hjmQrrK3ynA",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a3eb9d85cd875660",
    "trace_id": "5b126c78364145e191ab982c493b97db",
    "parent_span_id": "91351ec6dc738f35",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552439.753,
    "timestamp": 1787552439.764,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.tool.call.id": "call_xL62VRck9VX7V9qTKqNvPcgT",
      "gen_ai.tool.input": "{\"path\":\"/nonexistent/file.txt\"}"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8ef5de3ed2a80372",
    "trace_id": "5b126c78364145e191ab982c493b97db",
    "parent_span_id": "91351ec6dc738f35",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552439.766,
    "timestamp": 1787552440.859,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"Error: FileNotFoundError: The file '/nonexistent/file.txt' does not exist\\n Please fix your mistakes.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"read_file\",\"description\":\"Read the contents of a file\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The file '/nonexistent/file.txt' does not exist, so I couldn't read its contents. If you meant to provide a different file or location, please let me know!\"]",
      "gen_ai.usage.input_tokens": 129,
      "gen_ai.usage.output_tokens": 36,
      "gen_ai.usage.total_tokens": 165,
      "gen_ai.response.id": "chatcmpl-EGIKuLge6mcit2G9yASXMla2n1b5H",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langgraph :: Tool Error Agent Test (anthropic)❗︎ 2 2⚠︎ 117315ms
checkAgentSpanAttributes
checkChatSpanAttributes
a1e89629gen_ai.usage.input_tokensSpan a1e89629: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a1e89629gen_ai.usage.output_tokensSpan a1e89629: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
checkAvailableTools
checkResponseToolCalls(read_file)
a1e89629gen_ai.output.messagesShould have at least 1 tool call(s) in response but found 0
checkInputMessagesSchema
checkToolErrorSpan
Should have at least one tool span but found none
checkResponseModel
a1e89629gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "tool-error-agent-test",
    "op": "test",
    "parent_span_id": "96746a3433956451",
    "span_id": "8a524ad04595e954",
    "start_timestamp": 1787552438.296,
    "timestamp": 1787552438.638,
    "trace_id": "d80584efedb846629cb3e80fd4cb064b",
    "origin": "manual"
  },
  {
    "span_id": "96746a3433956451",
    "trace_id": "d80584efedb846629cb3e80fd4cb064b",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.279,
    "timestamp": 1787552438.64,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30630/",
      "url.port": "30630",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30630",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "85b10c530ff13d51",
    "trace_id": "d80584efedb846629cb3e80fd4cb064b",
    "parent_span_id": "8a524ad04595e954",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552438.297,
    "timestamp": 1787552438.633,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.available_tools": "[{\"name\":\"read_file\",\"description\":\"Read the contents of a file\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a1e8962947880525",
    "trace_id": "d80584efedb846629cb3e80fd4cb064b",
    "parent_span_id": "85b10c530ff13d51",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552438.333,
    "timestamp": 1787552438.607,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"read_file\",\"description\":\"Read the contents of a file\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langgraph :: Vision Agent Test (openai)❗︎ 1⚠︎ 118365ms
checkAgentSpanAttributes
checkChatSpanAttributes
a90132e1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a90132e1gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
a90132e1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "8fbde03ce47a4f15",
    "span_id": "befcc96a1fbee9b1",
    "start_timestamp": 1787552438.402,
    "timestamp": 1787552439.657,
    "trace_id": "ab7a8a125606469da9897acb65c65c56",
    "origin": "manual"
  },
  {
    "span_id": "8fbde03ce47a4f15",
    "trace_id": "ab7a8a125606469da9897acb65c65c56",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.388,
    "timestamp": 1787552439.658,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30631/",
      "url.port": "30631",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30631",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "aea3a650c480151f",
    "trace_id": "ab7a8a125606469da9897acb65c65c56",
    "parent_span_id": "befcc96a1fbee9b1",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552438.403,
    "timestamp": 1787552439.652,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"Red\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a90132e1fde689c1",
    "trace_id": "ab7a8a125606469da9897acb65c65c56",
    "parent_span_id": "aea3a650c480151f",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552438.468,
    "timestamp": 1787552439.648,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIKtwVZH4dvD1MPDDCD2a5S4O70J",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langgraph :: Vision Agent Test (anthropic)❗︎ 1 1⚠︎ 117495ms
checkAgentSpanAttributes
checkChatSpanAttributes
82dedb2bgen_ai.usage.input_tokensSpan 82dedb2b: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
82dedb2bgen_ai.usage.output_tokensSpan 82dedb2b: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkValidTokenUsage
9145e541gen_ai.usage.input_tokensinput_tokens must exist
9145e541gen_ai.usage.output_tokensoutput_tokens must exist
9145e541gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
82dedb2bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "bc2ab81097728735",
    "span_id": "81061511836f153b",
    "start_timestamp": 1787552438.64,
    "timestamp": 1787552438.822,
    "trace_id": "a75185e5e0c3410cb1c943d82a133a5e",
    "origin": "manual"
  },
  {
    "span_id": "bc2ab81097728735",
    "trace_id": "a75185e5e0c3410cb1c943d82a133a5e",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.633,
    "timestamp": 1787552438.824,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30632/",
      "url.port": "30632",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30632",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9145e541f8c0a79d",
    "trace_id": "a75185e5e0c3410cb1c943d82a133a5e",
    "parent_span_id": "81061511836f153b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552438.64,
    "timestamp": 1787552438.822,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "82dedb2b4664aea1",
    "trace_id": "a75185e5e0c3410cb1c943d82a133a5e",
    "parent_span_id": "9145e541f8c0a79d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552438.677,
    "timestamp": 1787552438.81,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langgraph :: Long Input Agent Test (openai)❗︎ 1⚠︎ 128328ms
checkAgentSpanAttributes
checkChatSpanAttributes
8eff384fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8eff384fgen_ai.output.messagesMissing output messages attribute
afbd5c37gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
afbd5c37gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkInputMessagesSchema
checkResponseModel
8eff384fgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
afbd5c37gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.response.stop_reason(2 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-agent-test",
    "op": "test",
    "parent_span_id": "a3e8c5049a2ec407",
    "span_id": "aaec65ba06760dc2",
    "start_timestamp": 1787552438.237,
    "timestamp": 1787552449.61,
    "trace_id": "63f1ee7dba7c4b0e85c93bad6c8dd0ba",
    "origin": "manual"
  },
  {
    "span_id": "a3e8c5049a2ec407",
    "trace_id": "63f1ee7dba7c4b0e85c93bad6c8dd0ba",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552438.226,
    "timestamp": 1787552449.612,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30633/",
      "url.port": "30633",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30633",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b105ac57c0eb51f6",
    "trace_id": "63f1ee7dba7c4b0e85c93bad6c8dd0ba",
    "parent_span_id": "aaec65ba06760dc2",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552438.238,
    "timestamp": 1787552449.578,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.tool_calls": "[{\"name\":\"get_word_count\",\"args\":{\"text\":\"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"},\"type\":\"tool_call\",\"id\":\"call_i5l3L3jtf4BWAz8PVLFcG8RS\"}]",
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"2400\"},{\"role\":\"assistant\",\"content\":\"The text is a repetitive message designed to fill a long input space, emphasizing its testing nature.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 11596,
      "gen_ai.usage.output_tokens": 646,
      "gen_ai.usage.total_tokens": 12242
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8eff384f7e0cab46",
    "trace_id": "63f1ee7dba7c4b0e85c93bad6c8dd0ba",
    "parent_span_id": "b105ac57c0eb51f6",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552438.29,
    "timestamp": 1787552448.476,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"get_word_count\",\"args\":{\"text\":\"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"},\"type\":\"tool_call\",\"id\":\"call_i5l3L3jtf4BWAz8PVLFcG8RS\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 5477,
      "gen_ai.usage.output_tokens": 626,
      "gen_ai.usage.total_tokens": 6103,
      "gen_ai.response.id": "chatcmpl-EGIKtAxXITVoRGNn9zMyjAgAjTg3J",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aac5ad4c46690895",
    "trace_id": "63f1ee7dba7c4b0e85c93bad6c8dd0ba",
    "parent_span_id": "b105ac57c0eb51f6",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552448.511,
    "timestamp": 1787552448.529,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.tool.call.id": "call_i5l3L3jtf4BWAz8PVLFcG8RS",
      "gen_ai.tool.input": "{\"text\":\"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "2400"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "afbd5c3767bba226",
    "trace_id": "63f1ee7dba7c4b0e85c93bad6c8dd0ba",
    "parent_span_id": "b105ac57c0eb51f6",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552448.57,
    "timestamp": 1787552449.563,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"2400\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The text is a repetitive message designed to fill a long input space, emphasizing its testing nature.\"]",
      "gen_ai.usage.input_tokens": 6119,
      "gen_ai.usage.output_tokens": 20,
      "gen_ai.usage.total_tokens": 6139,
      "gen_ai.response.id": "chatcmpl-EGIL2sOxHscrG3FPq9lNUi0hHxRUZ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langgraph :: Long Input Agent Test (anthropic)❗︎ 1⚠︎ 117078ms
checkAgentSpanAttributes
checkChatSpanAttributes
a3c0b407gen_ai.usage.input_tokensSpan a3c0b407: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a3c0b407gen_ai.usage.output_tokensSpan a3c0b407: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkInputMessagesSchema
checkResponseModel
a3c0b407gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-agent-test",
    "op": "test",
    "parent_span_id": "a441128f378aeceb",
    "span_id": "a0ad3f845f4be00c",
    "start_timestamp": 1787552437.899,
    "timestamp": 1787552438.367,
    "trace_id": "58cea201110d46e0911ccd2fea85d835",
    "origin": "manual"
  },
  {
    "span_id": "a441128f378aeceb",
    "trace_id": "58cea201110d46e0911ccd2fea85d835",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552437.874,
    "timestamp": 1787552438.372,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30634/",
      "url.port": "30634",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30634",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9daadbda5d1e300d",
    "trace_id": "58cea201110d46e0911ccd2fea85d835",
    "parent_span_id": "a0ad3f845f4be00c",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552437.9,
    "timestamp": 1787552438.35,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.available_tools": "[{\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a3c0b4078022a6e6",
    "trace_id": "58cea201110d46e0911ccd2fea85d835",
    "parent_span_id": "9daadbda5d1e300d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552438.031,
    "timestamp": 1787552438.275,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langgraph :: Conversation ID Agent Test (openai)❗︎ 1⚠︎ 120894ms
checkAgentSpanAttributes
checkChatSpanAttributes
9d51f213gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9d51f213gen_ai.output.messagesMissing output messages attribute
aef1808dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aef1808dgen_ai.output.messagesMissing output messages attribute
8a90684fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a90684fgen_ai.output.messagesMissing output messages attribute
9a6c92e0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9a6c92e0gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9d51f213gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
aef1808dgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8a90684fgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9a6c92e0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(8 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (10)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-agent-test",
    "op": "test",
    "parent_span_id": "897f0d020b692e5a",
    "span_id": "a26796251b7db090",
    "start_timestamp": 1787552437.459,
    "timestamp": 1787552442.194,
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "origin": "manual"
  },
  {
    "span_id": "897f0d020b692e5a",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552437.431,
    "timestamp": 1787552442.195,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30635/",
      "url.port": "30635",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30635",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bfedb6e8dad340a0",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "a26796251b7db090",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552437.474,
    "timestamp": 1787552439.256,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9d51f21309fa18ff",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "bfedb6e8dad340a0",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552437.739,
    "timestamp": 1787552439.252,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21,
      "gen_ai.response.id": "chatcmpl-EGIKtff0UT0tD3H2zlIeAme41EXJ3",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b18090a41d11b988",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "a26796251b7db090",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552439.26,
    "timestamp": 1787552440.044,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aef1808d8a680388",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "b18090a41d11b988",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552439.263,
    "timestamp": 1787552440.042,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"2 + 2 equals 4.\"]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.id": "chatcmpl-EGIKttwL8cXUUrWfRp5ZwcI3TQQ76",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9ab760a95f19b4f8",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "a26796251b7db090",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552440.045,
    "timestamp": 1787552441.69,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"Could you please provide more context or specify what aspect of Germany you would like to know about? Germany is a country with a rich history, diverse culture, and significant economic influence, so there are many topics to cover, such as geography, politics, economy, history, culture, or travel. Let me know what interests you!\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 66,
      "gen_ai.usage.total_tokens": 77
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a90684f93b315b9",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "9ab760a95f19b4f8",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552440.049,
    "timestamp": 1787552441.688,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Could you please provide more context or specify what aspect of Germany you would like to know about? Germany is a country with a rich history, diverse culture, and significant economic influence, so there are many topics to cover, such as geography, politics, economy, history, culture, or travel. Let me know what interests you!\"]",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 66,
      "gen_ai.usage.total_tokens": 77,
      "gen_ai.response.id": "chatcmpl-EGIKuARf8GwttmpRktRAnetZxbFMc",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bff508b1dba76378",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "a26796251b7db090",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552441.691,
    "timestamp": 1787552442.193,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"3 + 3 equals 6.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a6c92e061c7ee8c",
    "trace_id": "1e156a5de7084f9297c8dee3850baaa1",
    "parent_span_id": "bff508b1dba76378",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552441.695,
    "timestamp": 1787552442.186,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 equals 6.\"]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.id": "chatcmpl-EGIKvY7rXok2gsFuxcPlx89V5JKEv",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langgraph :: Conversation ID Agent Test (anthropic)❗︎ 1 1⚠︎ 117013ms
checkAgentSpanAttributes
checkChatSpanAttributes
a5ccb559gen_ai.usage.input_tokensSpan a5ccb559: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a5ccb559gen_ai.usage.output_tokensSpan a5ccb559: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
80d4c381gen_ai.usage.input_tokensSpan 80d4c381: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
80d4c381gen_ai.usage.output_tokensSpan 80d4c381: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
84d4f2dfgen_ai.usage.input_tokensSpan 84d4f2df: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
84d4f2dfgen_ai.usage.output_tokensSpan 84d4f2df: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
9052679agen_ai.usage.input_tokensSpan 9052679a: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9052679agen_ai.usage.output_tokensSpan 9052679a: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
9c32cf59gen_ai.usage.input_tokensinput_tokens must exist
9c32cf59gen_ai.usage.output_tokensoutput_tokens must exist
9c32cf59gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a5ccb559gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
80d4c381gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
84d4f2dfgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9052679agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-agent-test",
    "op": "test",
    "parent_span_id": "90aec4591ebd30b7",
    "span_id": "8c5cb6eb07bd4861",
    "start_timestamp": 1787552436.721,
    "timestamp": 1787552438.328,
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "origin": "manual"
  },
  {
    "span_id": "90aec4591ebd30b7",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552436.652,
    "timestamp": 1787552438.336,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30636/",
      "url.port": "30636",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30636",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9c32cf59e45f3a78",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "8c5cb6eb07bd4861",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552436.722,
    "timestamp": 1787552437.848,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a5ccb55911e176d7",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "9c32cf59e45f3a78",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552437.062,
    "timestamp": 1787552437.725,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "844d40a25d92ba86",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "8c5cb6eb07bd4861",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552437.853,
    "timestamp": 1787552438.002,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "80d4c381c7fb9ab1",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "844d40a25d92ba86",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552437.882,
    "timestamp": 1787552437.989,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b9aa14ebd078de02",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "8c5cb6eb07bd4861",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552438.003,
    "timestamp": 1787552438.107,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "84d4f2df4f25769a",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "b9aa14ebd078de02",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552438.024,
    "timestamp": 1787552438.099,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b102763069b8a0fe",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "8c5cb6eb07bd4861",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552438.108,
    "timestamp": 1787552438.322,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "sentry.source": "custom",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "9052679ab63832b9",
    "trace_id": "e180b8756b7443cca7c8705cb75bdec0",
    "parent_span_id": "b102763069b8a0fe",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552438.13,
    "timestamp": 1787552438.321,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (streaming, function, openai) 110016ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bb02d248gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bb02d248gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
9b5cbb81gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9b5cbb81gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "9d5ce5463d6b9421",
    "span_id": "af1f4ef000943e9c",
    "start_timestamp": 1787552467.236,
    "timestamp": 1787552469.058,
    "trace_id": "1126f215fceb4b3d9399589d5c5fbb76",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/responses",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "bb02d24809bdba29",
    "span_id": "9dfcf27aea669f0a",
    "start_timestamp": 1787552467.792,
    "status": "ok",
    "timestamp": 1787552468.935,
    "trace_id": "1126f215fceb4b3d9399589d5c5fbb76",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "9d5ce5463d6b9421",
    "trace_id": "1126f215fceb4b3d9399589d5c5fbb76",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552467.235,
    "timestamp": 1787552469.065,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30661/",
      "url.port": "30661",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30661",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9b5cbb81a6ac6f51",
    "trace_id": "1126f215fceb4b3d9399589d5c5fbb76",
    "parent_span_id": "af1f4ef000943e9c",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552467.24,
    "timestamp": 1787552469.039,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552467-UutL7uXbQQ3eQ0ikgLi3",
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552467-UutL7uXbQQ3eQ0ikgLi3\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb02d24809bdba29",
    "trace_id": "1126f215fceb4b3d9399589d5c5fbb76",
    "parent_span_id": "9b5cbb81a6ac6f51",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552467.787,
    "timestamp": 1787552469.03,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552467-UutL7uXbQQ3eQ0ikgLi3",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552467-UutL7uXbQQ3eQ0ikgLi3",
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 1237,
      "vercel.ai.response.msToFinish": 1243,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552467-UutL7uXbQQ3eQ0ikgLi3",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:07.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552467-UutL7uXbQQ3eQ0ikgLi3\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 0.8045052292839904
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (streaming, function, anthropic) 1⚠︎ 19765ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bad1e9abgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bad1e9abgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
a784a04egen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a784a04egen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
bad1e9abgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "813e4d81e4d29650",
    "span_id": "b523ea77e96291e0",
    "start_timestamp": 1787552469.569,
    "timestamp": 1787552470.308,
    "trace_id": "923f987bef344ebb9e1fa7dd5299c03d",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "bad1e9ab55a36b0d",
    "span_id": "8a8abf5b674e23d4",
    "start_timestamp": 1787552469.591,
    "status": "ok",
    "timestamp": 1787552470.22,
    "trace_id": "923f987bef344ebb9e1fa7dd5299c03d",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "813e4d81e4d29650",
    "trace_id": "923f987bef344ebb9e1fa7dd5299c03d",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552469.568,
    "timestamp": 1787552470.314,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30662/",
      "url.port": "30662",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30662",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a784a04e34c4ef24",
    "trace_id": "923f987bef344ebb9e1fa7dd5299c03d",
    "parent_span_id": "b523ea77e96291e0",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552469.572,
    "timestamp": 1787552470.296,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bad1e9ab55a36b0d",
    "trace_id": "923f987bef344ebb9e1fa7dd5299c03d",
    "parent_span_id": "a784a04e34c4ef24",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552469.584,
    "timestamp": 1787552470.294,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552469-61x2kcshzXevxsy7S40J",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 697,
      "vercel.ai.response.msToFinish": 705,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552469-61x2kcshzXevxsy7S40J",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:10.280Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 5.673758865248227
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (streaming, class, openai) 19466ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
90068996gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
90068996gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
b31c4648gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b31c4648gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "a358d9082a25728b",
    "span_id": "bdae9c9eca928009",
    "start_timestamp": 1787552470.762,
    "timestamp": 1787552471.978,
    "trace_id": "f7a644aa97b940bb9f5e1d45a7c291bc",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/responses",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "90068996f4398ac6",
    "span_id": "948aff90861fda54",
    "start_timestamp": 1787552470.795,
    "status": "ok",
    "timestamp": 1787552471.794,
    "trace_id": "f7a644aa97b940bb9f5e1d45a7c291bc",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "a358d9082a25728b",
    "trace_id": "f7a644aa97b940bb9f5e1d45a7c291bc",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552470.76,
    "timestamp": 1787552471.982,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30663/",
      "url.port": "30663",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30663",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b31c46489ad944f0",
    "trace_id": "f7a644aa97b940bb9f5e1d45a7c291bc",
    "parent_span_id": "bdae9c9eca928009",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552470.768,
    "timestamp": 1787552471.964,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552470-dHxoYut6sz97N0t3wFRS",
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552470-dHxoYut6sz97N0t3wFRS\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90068996f4398ac6",
    "trace_id": "f7a644aa97b940bb9f5e1d45a7c291bc",
    "parent_span_id": "b31c46489ad944f0",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552470.784,
    "timestamp": 1787552471.962,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552470-dHxoYut6sz97N0t3wFRS",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552470-dHxoYut6sz97N0t3wFRS",
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 1167,
      "vercel.ai.response.msToFinish": 1171,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552470-dHxoYut6sz97N0t3wFRS",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:10.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552470-dHxoYut6sz97N0t3wFRS\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 0.8539709649871904
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (streaming, class, anthropic) 1⚠︎ 19426ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a16c3242gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a16c3242gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
b18d4c12gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b18d4c12gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
a16c3242gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "860ec8da3f57a95d",
    "span_id": "a918263714e80f16",
    "start_timestamp": 1787552471.456,
    "timestamp": 1787552472.409,
    "trace_id": "1f1eae7fc2c14bdaa0a5013eddb20a39",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a16c32425957f262",
    "span_id": "bb85d50a7ecc10a0",
    "start_timestamp": 1787552471.519,
    "status": "ok",
    "timestamp": 1787552472.258,
    "trace_id": "1f1eae7fc2c14bdaa0a5013eddb20a39",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "860ec8da3f57a95d",
    "trace_id": "1f1eae7fc2c14bdaa0a5013eddb20a39",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552471.446,
    "timestamp": 1787552472.41,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30664/",
      "url.port": "30664",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30664",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b18d4c120525583d",
    "trace_id": "1f1eae7fc2c14bdaa0a5013eddb20a39",
    "parent_span_id": "a918263714e80f16",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552471.467,
    "timestamp": 1787552472.381,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a16c32425957f262",
    "trace_id": "1f1eae7fc2c14bdaa0a5013eddb20a39",
    "parent_span_id": "b18d4c120525583d",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552471.491,
    "timestamp": 1787552472.367,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552471-XjPufkMmyv2dzzouTzfQ",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 849,
      "vercel.ai.response.msToFinish": 876,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552471-XjPufkMmyv2dzzouTzfQ",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:12.339Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 4.566210045662101
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (blocking, function, openai) 111009ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
ae0cfbacgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
ae0cfbacgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
becc6ec3gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
becc6ec3gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "b3c005880af9ecc4",
    "span_id": "92f05f81af3a7cfd",
    "start_timestamp": 1787552473.179,
    "timestamp": 1787552474.73,
    "trace_id": "1157cb32bdcd435da38188385819799b",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/responses",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "ae0cfbac1166fa4b",
    "span_id": "95ee2584522174f7",
    "start_timestamp": 1787552473.24,
    "status": "ok",
    "timestamp": 1787552474.607,
    "trace_id": "1157cb32bdcd435da38188385819799b",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "b3c005880af9ecc4",
    "trace_id": "1157cb32bdcd435da38188385819799b",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552473.171,
    "timestamp": 1787552474.732,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30665/",
      "url.port": "30665",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30665",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "becc6ec389ea7941",
    "trace_id": "1157cb32bdcd435da38188385819799b",
    "parent_span_id": "92f05f81af3a7cfd",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552473.188,
    "timestamp": 1787552474.708,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552474-80q0rijl44HOtnL7hFre",
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552474-80q0rijl44HOtnL7hFre\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae0cfbac1166fa4b",
    "trace_id": "1157cb32bdcd435da38188385819799b",
    "parent_span_id": "becc6ec389ea7941",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552473.207,
    "timestamp": 1787552474.699,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552474-80q0rijl44HOtnL7hFre",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552474-80q0rijl44HOtnL7hFre",
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552474-80q0rijl44HOtnL7hFre",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:14.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552474-80q0rijl44HOtnL7hFre\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (blocking, function, anthropic) 1⚠︎ 110308ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9e173ef7gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9e173ef7gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
b2d698c2gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b2d698c2gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
9e173ef7gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "837dc3df106217e0",
    "span_id": "8c9862d98f920a64",
    "start_timestamp": 1787552473.825,
    "timestamp": 1787552474.641,
    "trace_id": "f81838e3916e4cc0b9c8359b19f1126f",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9e173ef762a7a570",
    "span_id": "b8f62e3902ae65f6",
    "start_timestamp": 1787552473.885,
    "status": "ok",
    "timestamp": 1787552474.556,
    "trace_id": "f81838e3916e4cc0b9c8359b19f1126f",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "837dc3df106217e0",
    "trace_id": "f81838e3916e4cc0b9c8359b19f1126f",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552473.824,
    "timestamp": 1787552474.648,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30666/",
      "url.port": "30666",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30666",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b2d698c2baae8904",
    "trace_id": "f81838e3916e4cc0b9c8359b19f1126f",
    "parent_span_id": "8c9862d98f920a64",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552473.843,
    "timestamp": 1787552474.629,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e173ef762a7a570",
    "trace_id": "f81838e3916e4cc0b9c8359b19f1126f",
    "parent_span_id": "b2d698c2baae8904",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552473.855,
    "timestamp": 1787552474.628,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552473-fqoF6cAAcTBoYjwIULBN",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552473-fqoF6cAAcTBoYjwIULBN",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:14.624Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (blocking, class, openai) 112197ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
858fa574gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
858fa574gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
a7864712gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a7864712gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "9f31fc3b4cded179",
    "span_id": "bddfea13343c08c4",
    "start_timestamp": 1787552476.83,
    "timestamp": 1787552477.586,
    "trace_id": "05bb3bdc663e45c1871924e5e191b0e8",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/responses",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "858fa5743f7a7f41",
    "span_id": "b5166896d7f78839",
    "start_timestamp": 1787552476.895,
    "status": "ok",
    "timestamp": 1787552477.475,
    "trace_id": "05bb3bdc663e45c1871924e5e191b0e8",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "9f31fc3b4cded179",
    "trace_id": "05bb3bdc663e45c1871924e5e191b0e8",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552476.829,
    "timestamp": 1787552477.6,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30667/",
      "url.port": "30667",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30667",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a7864712c6061ac1",
    "trace_id": "05bb3bdc663e45c1871924e5e191b0e8",
    "parent_span_id": "bddfea13343c08c4",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552476.856,
    "timestamp": 1787552477.569,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552476-dgWiKF7bt9PUgG2CGodY",
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552476-dgWiKF7bt9PUgG2CGodY\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "858fa5743f7a7f41",
    "trace_id": "05bb3bdc663e45c1871924e5e191b0e8",
    "parent_span_id": "a7864712c6061ac1",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552476.875,
    "timestamp": 1787552477.56,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552476-dgWiKF7bt9PUgG2CGodY",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552476-dgWiKF7bt9PUgG2CGodY",
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552476-dgWiKF7bt9PUgG2CGodY",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:16.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552476-dgWiKF7bt9PUgG2CGodY\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/vercel :: Vision Agent Test (blocking, class, anthropic) 1⚠︎ 110940ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
be61db62gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
be61db62gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
bc9d669egen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bc9d669egen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
be61db62gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-agent-test",
    "op": "test",
    "parent_span_id": "86c87d29e766404b",
    "span_id": "9dce39d096e07cf1",
    "start_timestamp": 1787552475.517,
    "timestamp": 1787552476.378,
    "trace_id": "3cd85f84f4044157bf5036a57dad9266",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "server.address": "openrouter.ai",
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "be61db62d8eb1d08",
    "span_id": "a603671b7dc3f563",
    "start_timestamp": 1787552475.565,
    "status": "ok",
    "timestamp": 1787552476.284,
    "trace_id": "3cd85f84f4044157bf5036a57dad9266",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "86c87d29e766404b",
    "trace_id": "3cd85f84f4044157bf5036a57dad9266",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552475.516,
    "timestamp": 1787552476.389,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30668/",
      "url.port": "30668",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30668",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bc9d669eaf5ba638",
    "trace_id": "3cd85f84f4044157bf5036a57dad9266",
    "parent_span_id": "9dce39d096e07cf1",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552475.533,
    "timestamp": 1787552476.366,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be61db62d8eb1d08",
    "trace_id": "3cd85f84f4044157bf5036a57dad9266",
    "parent_span_id": "bc9d669eaf5ba638",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552475.544,
    "timestamp": 1787552476.358,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.cloudflare_tracer": true,
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552475-jTFm4Hkr87nDDD3Brobk",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552475-jTFm4Hkr87nDDD3Brobk",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:16.358Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/mastra :: Basic Agent Test 18982ms
checkAgentSpanAttributes(Not supported by this framework)
checkChatSpanAttributes(Not supported by this framework)
checkAgentHierarchy(Not supported by this framework)
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
No spans captured
nextjs/mastra :: Tool Call Agent Test 17735ms
checkAgentSpanAttributes(Not supported by this framework)
checkChatSpanAttributes(Not supported by this framework)
checkToolSpanAttributes(Not supported by this framework)
checkAgentHierarchy(Not supported by this framework)
checkValidTokenUsage(No AI spans captured)
checkAvailableTools(Not supported by this framework)
checkResponseToolCalls(add, multiply)(Not supported by this framework)
checkToolCalls(add, multiply)(Not supported by this framework)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
No spans captured
nextjs/mastra :: Tool Error Agent Test 27777ms
checkAgentSpanAttributes(Not supported by this framework)
checkChatSpanAttributes(Not supported by this framework)
checkToolSpanAttributes(Not supported by this framework)
checkAgentHierarchy(Not supported by this framework)
checkAvailableTools(Not supported by this framework)
checkResponseToolCalls(read_file)(Not supported by this framework)
checkInputMessagesSchema
Should have at least one chat or agent span
checkToolErrorSpan
Should have at least one tool span but found none
checkResponseModel(No chat or embedding spans captured)
No spans captured
nextjs/mastra :: Vision Agent Test 17763ms
checkAgentSpanAttributes(Not supported by this framework)
checkChatSpanAttributes(Not supported by this framework)
checkAgentHierarchy(Not supported by this framework)
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkBinaryRedaction(Not supported by this framework)
checkResponseModel(No chat or embedding spans captured)
No spans captured
nextjs/mastra :: Conversation ID Agent Test❗︎ 4 17681ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkAgentHierarchy
Should have at least one AI span
checkConversationIds([conv-a, conv-b])
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
No spans captured
nextjs/vercel :: Vision Agent Test (streaming, function, openai) 12074ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
adf27b29gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
adf27b29gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
8e6d941egen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8e6d941egen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/openai/3.0.90 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "adf27b29b4739c6d",
    "span_id": "84572cb74785f62a",
    "start_timestamp": 1787552512.6465633,
    "status": "ok",
    "timestamp": 1787552513.302909,
    "trace_id": "ccbf26adfe7b43c8b9200dd0859102bd",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8b6e9f378698b420",
    "trace_id": "ccbf26adfe7b43c8b9200dd0859102bd",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552512.588989,
    "timestamp": 1787552513.3070722,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8e6d941ec4b59fe8",
    "trace_id": "ccbf26adfe7b43c8b9200dd0859102bd",
    "parent_span_id": "8b6e9f378698b420",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552512.5969644,
    "timestamp": 1787552513.3066788,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552512-NcM6pe8I6GCy0p2k8RYQ",
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552512-NcM6pe8I6GCy0p2k8RYQ\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "adf27b29b4739c6d",
    "trace_id": "ccbf26adfe7b43c8b9200dd0859102bd",
    "parent_span_id": "8e6d941ec4b59fe8",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552512.6043057,
    "timestamp": 1787552513.3055024,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552512-NcM6pe8I6GCy0p2k8RYQ",
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552512-NcM6pe8I6GCy0p2k8RYQ",
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 692.714135,
      "vercel.ai.response.msToFinish": 700.2566410000001,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552512-NcM6pe8I6GCy0p2k8RYQ",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:52.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552512-NcM6pe8I6GCy0p2k8RYQ\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 1.4280478633832763
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (streaming, function, anthropic) 1⚠︎ 12177ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
87a23a0cgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
87a23a0cgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
a61a86e4gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a61a86e4gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
87a23a0cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/anthropic/3.0.105 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "87a23a0ce0dbdb75",
    "span_id": "98cbe298f560a6af",
    "start_timestamp": 1787552512.875854,
    "status": "ok",
    "timestamp": 1787552513.5591156,
    "trace_id": "11eed7f108b9460b88081170d05079c2",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "a122cf48f5b6d99c",
    "trace_id": "11eed7f108b9460b88081170d05079c2",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552512.815141,
    "timestamp": 1787552513.5727863,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a61a86e4eb525524",
    "trace_id": "11eed7f108b9460b88081170d05079c2",
    "parent_span_id": "a122cf48f5b6d99c",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552512.8262773,
    "timestamp": 1787552513.5722034,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "87a23a0ce0dbdb75",
    "trace_id": "11eed7f108b9460b88081170d05079c2",
    "parent_span_id": "a61a86e4eb525524",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552512.8360965,
    "timestamp": 1787552513.569289,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552512-iFSzUBMwHcztq1pgieIV",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 707.169868,
      "vercel.ai.response.msToFinish": 732.0549599999999,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552512-iFSzUBMwHcztq1pgieIV",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:53.542Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 5.464070621145713
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (streaming, class, openai) 12103ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8a26c4bcgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8a26c4bcgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
b4759aa1gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b4759aa1gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/openai/3.0.90 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "8a26c4bc9376b763",
    "span_id": "8ee8365d278f4ecf",
    "start_timestamp": 1787552513.093018,
    "status": "ok",
    "timestamp": 1787552513.722007,
    "trace_id": "17f29fc716c248e98d97d79e72647bbb",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "a447ebd37175a776",
    "trace_id": "17f29fc716c248e98d97d79e72647bbb",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552513.0479143,
    "timestamp": 1787552513.7274508,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b4759aa188e67775",
    "trace_id": "17f29fc716c248e98d97d79e72647bbb",
    "parent_span_id": "a447ebd37175a776",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552513.0553496,
    "timestamp": 1787552513.7270138,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552513-azosQkFCQtl7rmwHlKgF",
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552513-azosQkFCQtl7rmwHlKgF\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a26c4bc9376b763",
    "trace_id": "17f29fc716c248e98d97d79e72647bbb",
    "parent_span_id": "b4759aa188e67775",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552513.063421,
    "timestamp": 1787552513.725363,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552513-azosQkFCQtl7rmwHlKgF",
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552513-azosQkFCQtl7rmwHlKgF",
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 652.2936920000001,
      "vercel.ai.response.msToFinish": 660.8711529999999,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552513-azosQkFCQtl7rmwHlKgF",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:53.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552513-azosQkFCQtl7rmwHlKgF\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 1.5131542592841847
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (streaming, class, anthropic) 1⚠︎ 12163ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a3e384cfgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a3e384cfgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
bad664f6gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bad664f6gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
a3e384cfgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/anthropic/3.0.105 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a3e384cf81f03957",
    "span_id": "91474b4607908972",
    "start_timestamp": 1787552513.1697717,
    "status": "ok",
    "timestamp": 1787552513.9906483,
    "trace_id": "8af7ccffc2304694b4edf593cd2c1d6c",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b88820291263766f",
    "trace_id": "8af7ccffc2304694b4edf593cd2c1d6c",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552513.1252985,
    "timestamp": 1787552513.997141,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bad664f672a26c01",
    "trace_id": "8af7ccffc2304694b4edf593cd2c1d6c",
    "parent_span_id": "b88820291263766f",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552513.1328573,
    "timestamp": 1787552513.9965858,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a3e384cf81f03957",
    "trace_id": "8af7ccffc2304694b4edf593cd2c1d6c",
    "parent_span_id": "bad664f672a26c01",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552513.1404684,
    "timestamp": 1787552513.9947412,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552513-ov9SvnNdu9PiaBrK1O6W",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 845.659494,
      "vercel.ai.response.msToFinish": 852.3592719999999,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552513-ov9SvnNdu9PiaBrK1O6W",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:53.985Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 4.692856793373394
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (blocking, function, openai) 11783ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
91abdb32gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
91abdb32gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
b2318bc1gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b2318bc1gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "91abdb320121f66b",
    "span_id": "8f99c80e860f7c87",
    "start_timestamp": 1787552513.3806474,
    "status": "ok",
    "timestamp": 1787552514.0268567,
    "trace_id": "384b5f8c6a1246d1bb45a8874b8dc51e",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8a2d57f5e701e0e4",
    "trace_id": "384b5f8c6a1246d1bb45a8874b8dc51e",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552513.3524387,
    "timestamp": 1787552514.0530348,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b2318bc15e1ee4ac",
    "trace_id": "384b5f8c6a1246d1bb45a8874b8dc51e",
    "parent_span_id": "8a2d57f5e701e0e4",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552513.3690083,
    "timestamp": 1787552514.0525162,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552513-WMeczRGaLkmUKTZgqagn",
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552513-WMeczRGaLkmUKTZgqagn\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91abdb320121f66b",
    "trace_id": "384b5f8c6a1246d1bb45a8874b8dc51e",
    "parent_span_id": "b2318bc15e1ee4ac",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552513.371547,
    "timestamp": 1787552514.0511382,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552513-WMeczRGaLkmUKTZgqagn",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552513-WMeczRGaLkmUKTZgqagn",
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552513-WMeczRGaLkmUKTZgqagn",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:53.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552513-WMeczRGaLkmUKTZgqagn\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (blocking, function, anthropic) 1⚠︎ 12207ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9327c8b6gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9327c8b6gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
99815255gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
99815255gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
9327c8b6gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9327c8b60026596f",
    "span_id": "ad6be8b103eed9de",
    "start_timestamp": 1787552513.8773077,
    "status": "ok",
    "timestamp": 1787552514.9078085,
    "trace_id": "41818a7c6a614b25a1b096b90b409f70",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8ab3773ef24603b6",
    "trace_id": "41818a7c6a614b25a1b096b90b409f70",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552513.834397,
    "timestamp": 1787552514.9847944,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9981525525f0f16d",
    "trace_id": "41818a7c6a614b25a1b096b90b409f70",
    "parent_span_id": "8ab3773ef24603b6",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552513.8598514,
    "timestamp": 1787552514.9733574,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9327c8b60026596f",
    "trace_id": "41818a7c6a614b25a1b096b90b409f70",
    "parent_span_id": "9981525525f0f16d",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552513.8639946,
    "timestamp": 1787552514.9719172,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552514-NrXrzGgddto50edkY8SC",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552514-NrXrzGgddto50edkY8SC",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:54.968Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (blocking, class, openai) 12068ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
af40e976gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
af40e976gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
a9d4220bgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a9d4220bgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "af40e9769f20936f",
    "span_id": "bdc510179aa999de",
    "start_timestamp": 1787552514.3485816,
    "status": "ok",
    "timestamp": 1787552515.089762,
    "trace_id": "b9c7188e2bdc4fd388d5c75946b0e32f",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "a202cc3fd2319352",
    "trace_id": "b9c7188e2bdc4fd388d5c75946b0e32f",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552514.2894504,
    "timestamp": 1787552515.1698606,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a9d4220b4bb74aad",
    "trace_id": "b9c7188e2bdc4fd388d5c75946b0e32f",
    "parent_span_id": "a202cc3fd2319352",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552514.3132882,
    "timestamp": 1787552515.169354,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552514-2sZJSDnYFmYBWwUE6sqn",
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552514-2sZJSDnYFmYBWwUE6sqn\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "af40e9769f20936f",
    "trace_id": "b9c7188e2bdc4fd388d5c75946b0e32f",
    "parent_span_id": "a9d4220b4bb74aad",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552514.3220868,
    "timestamp": 1787552515.161496,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552514-2sZJSDnYFmYBWwUE6sqn",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552514-2sZJSDnYFmYBWwUE6sqn",
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552514-2sZJSDnYFmYBWwUE6sqn",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:54.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552514-2sZJSDnYFmYBWwUE6sqn\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/vercel :: Vision Agent Test (blocking, class, anthropic) 1⚠︎ 12241ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
80d7b01fgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
80d7b01fgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
a52b6a7egen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a52b6a7egen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
80d7b01fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "80d7b01f41d69c7f",
    "span_id": "b45ed30f84ddbb17",
    "start_timestamp": 1787552514.5462646,
    "status": "ok",
    "timestamp": 1787552515.466305,
    "trace_id": "84ec2fdcb7c048429973ab76411200e1",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b413b6b00c67a190",
    "trace_id": "84ec2fdcb7c048429973ab76411200e1",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552514.459285,
    "timestamp": 1787552515.516991,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a52b6a7ec59a3b36",
    "trace_id": "84ec2fdcb7c048429973ab76411200e1",
    "parent_span_id": "b413b6b00c67a190",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552514.5040898,
    "timestamp": 1787552515.516318,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80d7b01f41d69c7f",
    "trace_id": "84ec2fdcb7c048429973ab76411200e1",
    "parent_span_id": "a52b6a7ec59a3b36",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552514.5112634,
    "timestamp": 1787552515.509791,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552514-jM28VuEGsn1xNeLM4244",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552514-jM28VuEGsn1xNeLM4244",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:21:55.509Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Basic Agent Test (openai)❗︎ 1⚠︎ 13215ms
checkAgentSpanAttributes
checkChatSpanAttributes
94110b51gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94110b51gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
94110b51gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a7fbb9409ad18973",
    "span_id": "b24973ec56d67c6d",
    "start_timestamp": 1787552526.518685,
    "status": "ok",
    "timestamp": 1787552526.891635,
    "trace_id": "cd738f37fea84a1eb8ae68eae4bfb0a1",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a205b266941ed8c3",
    "trace_id": "cd738f37fea84a1eb8ae68eae4bfb0a1",
    "op": "test",
    "description": "basic-agent-test",
    "start_timestamp": 1787552526.485764,
    "timestamp": 1787552526.8998911,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a7fbb9409ad18973",
    "trace_id": "cd738f37fea84a1eb8ae68eae4bfb0a1",
    "parent_span_id": "a205b266941ed8c3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552526.4869893,
    "timestamp": 1787552526.8993065,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "94110b51d0224505",
    "trace_id": "cd738f37fea84a1eb8ae68eae4bfb0a1",
    "parent_span_id": "a7fbb9409ad18973",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552526.5051253,
    "timestamp": 1787552526.8942835,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.id": "chatcmpl-EGIMIECHBLDYUJ0SsLh8OqlhfHHYJ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Basic Agent Test (anthropic)❗︎ 1 1⚠︎ 11990ms
checkAgentSpanAttributes
checkChatSpanAttributes
b9d723a4gen_ai.usage.input_tokensSpan b9d723a4: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b9d723a4gen_ai.usage.output_tokensSpan b9d723a4: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkValidTokenUsage
9f34fc1fgen_ai.usage.input_tokensinput_tokens must exist
9f34fc1fgen_ai.usage.output_tokensoutput_tokens must exist
9f34fc1fgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
b9d723a4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9f34fc1f8b189bf4",
    "span_id": "8e6d59146872f7d2",
    "start_timestamp": 1787552526.5168798,
    "status": "invalid_argument",
    "timestamp": 1787552526.5955667,
    "trace_id": "b07d0969062643aea4a860fb2d39a387",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8295134233f36201",
    "trace_id": "b07d0969062643aea4a860fb2d39a387",
    "op": "test",
    "description": "basic-agent-test",
    "start_timestamp": 1787552526.485177,
    "timestamp": 1787552526.605186,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9f34fc1f8b189bf4",
    "trace_id": "b07d0969062643aea4a860fb2d39a387",
    "parent_span_id": "8295134233f36201",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552526.4862642,
    "timestamp": 1787552526.6045933,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b9d723a4d4a88732",
    "trace_id": "b07d0969062643aea4a860fb2d39a387",
    "parent_span_id": "9f34fc1f8b189bf4",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552526.5044272,
    "timestamp": 1787552526.5975864,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langgraph :: Tool Call Agent Test (openai)❗︎ 1⚠︎ 13711ms
checkAgentSpanAttributes
checkChatSpanAttributes
afdcb3f1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
afdcb3f1gen_ai.output.messagesMissing output messages attribute
926b6cdegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
926b6cdegen_ai.output.messagesMissing output messages attribute
804c8a5dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
804c8a5dgen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
checkInputMessagesSchema
checkResponseModel
afdcb3f1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
926b6cdegen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
804c8a5dgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(4 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
{}Captured Spans (10)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a5d2b7f349ab4469",
    "span_id": "99796fa574466b67",
    "start_timestamp": 1787552528.044023,
    "status": "ok",
    "timestamp": 1787552528.8781118,
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a5d2b7f349ab4469",
    "span_id": "ac836a116e67bc80",
    "start_timestamp": 1787552528.895971,
    "status": "ok",
    "timestamp": 1787552529.5750215,
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a5d2b7f349ab4469",
    "span_id": "abb1aa7c0c984aca",
    "start_timestamp": 1787552529.5816603,
    "status": "ok",
    "timestamp": 1787552530.3172293,
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ab67f61ce40b5930",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "op": "test",
    "description": "tool-call-agent-test",
    "start_timestamp": 1787552528.004352,
    "timestamp": 1787552530.3221278,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a5d2b7f349ab4469",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "parent_span_id": "ab67f61ce40b5930",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552528.005958,
    "timestamp": 1787552530.321559,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\":\"add\",\"description\":\"Add two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}},{\"name\":\"multiply\",\"description\":\"Multiply two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.tool_calls": "[{\"name\":\"add\",\"args\":{\"a\":3,\"b\":5},\"type\":\"tool_call\",\"id\":\"call_VYcy7jgVloKIDN4wXqLk1BMm\"},{\"name\":\"multiply\",\"args\":{\"a\":8,\"b\":4},\"type\":\"tool_call\",\"id\":\"call_rYdb71FUwCKr09pKvY6UDjnm\"}]",
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"8\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"32\"},{\"role\":\"assistant\",\"content\":\"The result of \\\\((3 + 5) * 4\\\\) is \\\\(32\\\\).\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 441,
      "gen_ai.usage.output_tokens": 55,
      "gen_ai.usage.total_tokens": 496
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "afdcb3f12d8ae823",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "parent_span_id": "a5d2b7f349ab4469",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552528.0274355,
    "timestamp": 1787552528.8819792,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"add\",\"args\":{\"a\":3,\"b\":5},\"type\":\"tool_call\",\"id\":\"call_VYcy7jgVloKIDN4wXqLk1BMm\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 118,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 135,
      "gen_ai.response.id": "chatcmpl-EGIMKMHo4f5fYFjBdHoZSXMXVYQ8V",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "879463be40bb3159",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "parent_span_id": "a5d2b7f349ab4469",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552528.887393,
    "timestamp": 1787552528.8905613,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.tool.call.id": "call_VYcy7jgVloKIDN4wXqLk1BMm",
      "gen_ai.tool.input": "{\"a\":3,\"b\":5}",
      "gen_ai.tool.output": "8"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "926b6cde555d5208",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "parent_span_id": "a5d2b7f349ab4469",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552528.8938947,
    "timestamp": 1787552529.5756998,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"8\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"multiply\",\"args\":{\"a\":8,\"b\":4},\"type\":\"tool_call\",\"id\":\"call_rYdb71FUwCKr09pKvY6UDjnm\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 147,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 164,
      "gen_ai.response.id": "chatcmpl-EGIMLhI3Peb6g5crwMHadT7wnhXXI",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a1a32728a02f503a",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "parent_span_id": "a5d2b7f349ab4469",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552529.5782378,
    "timestamp": 1787552529.5788393,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.tool.call.id": "call_rYdb71FUwCKr09pKvY6UDjnm",
      "gen_ai.tool.input": "{\"a\":8,\"b\":4}",
      "gen_ai.tool.output": "32"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "804c8a5d88ee4c4f",
    "trace_id": "c67190f5464444438bbdb356e5ad9b3b",
    "parent_span_id": "a5d2b7f349ab4469",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552529.5808175,
    "timestamp": 1787552530.3178828,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"8\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"32\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The result of \\\\((3 + 5) * 4\\\\) is \\\\(32\\\\).\"]",
      "gen_ai.usage.input_tokens": 176,
      "gen_ai.usage.output_tokens": 21,
      "gen_ai.usage.total_tokens": 197,
      "gen_ai.response.id": "chatcmpl-EGIMLXcYHnW2uYyQdbmQ8hOZIhNnJ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Tool Call Agent Test (anthropic)❗︎ 2 3⚠︎ 11436ms
checkAgentSpanAttributes
checkChatSpanAttributes
8c293df6gen_ai.usage.input_tokensSpan 8c293df6: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8c293df6gen_ai.usage.output_tokensSpan 8c293df6: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
checkValidTokenUsage
a6708e85gen_ai.usage.input_tokensinput_tokens must exist
a6708e85gen_ai.usage.output_tokensoutput_tokens must exist
a6708e85gen_ai.usage.total_tokenstotal_tokens must exist
checkAvailableTools
checkResponseToolCalls(add, multiply)
8c293df6gen_ai.output.messagesShould have at least 2 tool call(s) in response but found 0
checkToolCalls(add, multiply)
Should have at least 2 tool span(s) but found 0
checkInputMessagesSchema
checkResponseModel
8c293df6gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a6708e8542f3122e",
    "span_id": "a1a6dd43b0df6d72",
    "start_timestamp": 1787552528.2658978,
    "status": "invalid_argument",
    "timestamp": 1787552528.323074,
    "trace_id": "6e08b46350364878b1364b2f7db53beb",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bf44261a6963a957",
    "trace_id": "6e08b46350364878b1364b2f7db53beb",
    "op": "test",
    "description": "tool-call-agent-test",
    "start_timestamp": 1787552528.2359958,
    "timestamp": 1787552528.3324637,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a6708e8542f3122e",
    "trace_id": "6e08b46350364878b1364b2f7db53beb",
    "parent_span_id": "bf44261a6963a957",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552528.2370749,
    "timestamp": 1787552528.33195,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.available_tools": "[{\"name\":\"add\",\"description\":\"Add two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}},{\"name\":\"multiply\",\"description\":\"Multiply two numbers together\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8c293df6455ffbe8",
    "trace_id": "6e08b46350364878b1364b2f7db53beb",
    "parent_span_id": "a6708e8542f3122e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552528.254194,
    "timestamp": 1787552528.3250847,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"add\",\"description\":\"Add two numbers together\"},{\"type\":\"function\",\"name\":\"multiply\",\"description\":\"Multiply two numbers together\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langgraph :: Tool Error Agent Test (openai)❗︎ 1⚠︎ 14085ms
checkAgentSpanAttributes
checkChatSpanAttributes
91565bf4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91565bf4gen_ai.output.messagesMissing output messages attribute
86afda02gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
86afda02gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
checkResponseModel
91565bf4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
86afda02gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.response.stop_reason(2 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9bd8c75ecb768e1a",
    "span_id": "96ce6abdbb80bf88",
    "start_timestamp": 1787552529.4008415,
    "status": "ok",
    "timestamp": 1787552531.0940073,
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9bd8c75ecb768e1a",
    "span_id": "aab0712c50a04840",
    "start_timestamp": 1787552531.1273088,
    "status": "ok",
    "timestamp": 1787552532.0491269,
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "origin": "auto.http.client"
  },
  {
    "span_id": "95b5ec0a118c723b",
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "op": "test",
    "description": "tool-error-agent-test",
    "start_timestamp": 1787552529.364008,
    "timestamp": 1787552532.0560272,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9bd8c75ecb768e1a",
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "parent_span_id": "95b5ec0a118c723b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552529.365418,
    "timestamp": 1787552532.0555115,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\":\"read_file\",\"description\":\"Read the contents of a file\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.tool_calls": "[{\"name\":\"read_file\",\"args\":{\"path\":\"/nonexistent/file.txt\"},\"type\":\"tool_call\",\"id\":\"call_R4uRGUe3dwnp6Ab30vGNuEAV\"}]",
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"Error: FileNotFoundError: The file '/nonexistent/file.txt' does not exist\\n Please fix your mistakes.\"},{\"role\":\"assistant\",\"content\":\"The file at the path `/nonexistent/file.txt` does not exist, so I am unable to read its contents. Please provide a valid file path.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 205,
      "gen_ai.usage.output_tokens": 50,
      "gen_ai.usage.total_tokens": 255
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91565bf40da98606",
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "parent_span_id": "9bd8c75ecb768e1a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552529.3870077,
    "timestamp": 1787552531.0990572,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"read_file\",\"description\":\"Read the contents of a file\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"read_file\",\"args\":{\"path\":\"/nonexistent/file.txt\"},\"type\":\"tool_call\",\"id\":\"call_R4uRGUe3dwnp6Ab30vGNuEAV\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 76,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 94,
      "gen_ai.response.id": "chatcmpl-EGIML1AHh4seSMgkDcVKCZze2ibOM",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e6bed340f18bb97",
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "parent_span_id": "9bd8c75ecb768e1a",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552531.1110206,
    "timestamp": 1787552531.1206496,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.tool.call.id": "call_R4uRGUe3dwnp6Ab30vGNuEAV",
      "gen_ai.tool.input": "{\"path\":\"/nonexistent/file.txt\"}"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "86afda024eac9872",
    "trace_id": "6cb95313a80446c488acab925cb19f47",
    "parent_span_id": "9bd8c75ecb768e1a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552531.1250916,
    "timestamp": 1787552532.0503523,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"Error: FileNotFoundError: The file '/nonexistent/file.txt' does not exist\\n Please fix your mistakes.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"read_file\",\"description\":\"Read the contents of a file\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The file at the path `/nonexistent/file.txt` does not exist, so I am unable to read its contents. Please provide a valid file path.\"]",
      "gen_ai.usage.input_tokens": 129,
      "gen_ai.usage.output_tokens": 32,
      "gen_ai.usage.total_tokens": 161,
      "gen_ai.response.id": "chatcmpl-EGIMN6rkACfmijAMvp10hrpOrdu8r",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Tool Error Agent Test (anthropic)❗︎ 2 2⚠︎ 11603ms
checkAgentSpanAttributes
checkChatSpanAttributes
b51d1014gen_ai.usage.input_tokensSpan b51d1014: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b51d1014gen_ai.usage.output_tokensSpan b51d1014: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
checkAvailableTools
checkResponseToolCalls(read_file)
b51d1014gen_ai.output.messagesShould have at least 1 tool call(s) in response but found 0
checkInputMessagesSchema
checkToolErrorSpan
Should have at least one tool span but found none
checkResponseModel
b51d1014gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a2d8604c32ce39d4",
    "span_id": "b44cd28d555b293f",
    "start_timestamp": 1787552529.7087598,
    "status": "invalid_argument",
    "timestamp": 1787552529.927437,
    "trace_id": "57949798391c41bfa37d97cb49d40bcf",
    "origin": "auto.http.client"
  },
  {
    "span_id": "979ca3b0d04c0a64",
    "trace_id": "57949798391c41bfa37d97cb49d40bcf",
    "op": "test",
    "description": "tool-error-agent-test",
    "start_timestamp": 1787552529.6791804,
    "timestamp": 1787552529.9371235,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a2d8604c32ce39d4",
    "trace_id": "57949798391c41bfa37d97cb49d40bcf",
    "parent_span_id": "979ca3b0d04c0a64",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552529.680122,
    "timestamp": 1787552529.9365437,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.available_tools": "[{\"name\":\"read_file\",\"description\":\"Read the contents of a file\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b51d1014969fcfc4",
    "trace_id": "57949798391c41bfa37d97cb49d40bcf",
    "parent_span_id": "a2d8604c32ce39d4",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552529.696538,
    "timestamp": 1787552529.9293482,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"read_file\",\"description\":\"Read the contents of a file\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langgraph :: Vision Agent Test (openai)❗︎ 1⚠︎ 12257ms
checkAgentSpanAttributes
checkChatSpanAttributes
b8f5862egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8f5862egen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
b8f5862egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8c367d3d990043f2",
    "span_id": "9fd7da08497ef693",
    "start_timestamp": 1787552531.6132128,
    "status": "ok",
    "timestamp": 1787552532.1794786,
    "trace_id": "e5e66c8ff41342e1a7475846fa84c059",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b62e72bc9801bc65",
    "trace_id": "e5e66c8ff41342e1a7475846fa84c059",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552531.5278654,
    "timestamp": 1787552532.1884792,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8c367d3d990043f2",
    "trace_id": "e5e66c8ff41342e1a7475846fa84c059",
    "parent_span_id": "b62e72bc9801bc65",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552531.5294409,
    "timestamp": 1787552532.187825,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"Red\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b8f5862ede76f158",
    "trace_id": "e5e66c8ff41342e1a7475846fa84c059",
    "parent_span_id": "8c367d3d990043f2",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552531.5729191,
    "timestamp": 1787552532.18194,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIMNCFmiRNQ5rdk8JiwcYi5f4Maj",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Vision Agent Test (anthropic)❗︎ 1 1⚠︎ 11894ms
checkAgentSpanAttributes
checkChatSpanAttributes
b7d1bdb9gen_ai.usage.input_tokensSpan b7d1bdb9: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b7d1bdb9gen_ai.usage.output_tokensSpan b7d1bdb9: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkValidTokenUsage
96327fc9gen_ai.usage.input_tokensinput_tokens must exist
96327fc9gen_ai.usage.output_tokensoutput_tokens must exist
96327fc9gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
b7d1bdb9gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "96327fc9a811af45",
    "span_id": "bf129e49c45b90fe",
    "start_timestamp": 1787552531.7199306,
    "status": "invalid_argument",
    "timestamp": 1787552531.9364002,
    "trace_id": "d030e58c671c4b628e053ecb54aaacdd",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bbcff6804939fb1b",
    "trace_id": "d030e58c671c4b628e053ecb54aaacdd",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552531.6830785,
    "timestamp": 1787552531.9498708,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "96327fc9a811af45",
    "trace_id": "d030e58c671c4b628e053ecb54aaacdd",
    "parent_span_id": "bbcff6804939fb1b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552531.684184,
    "timestamp": 1787552531.9490247,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b7d1bdb982ef20ee",
    "trace_id": "d030e58c671c4b628e053ecb54aaacdd",
    "parent_span_id": "96327fc9a811af45",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552531.704576,
    "timestamp": 1787552531.9386826,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langgraph :: Long Input Agent Test (openai)❗︎ 1⚠︎ 14118ms
checkAgentSpanAttributes
checkChatSpanAttributes
a24f41a4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a24f41a4gen_ai.output.messagesMissing output messages attribute
a196ad7cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a196ad7cgen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkInputMessagesSchema
checkResponseModel
a24f41a4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a196ad7cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.response.stop_reason(2 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a816e189d488ad74",
    "span_id": "8dee08dccf1cdfa4",
    "start_timestamp": 1787552532.1393187,
    "status": "ok",
    "timestamp": 1787552533.1839755,
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a816e189d488ad74",
    "span_id": "a5735e5e3d5de754",
    "start_timestamp": 1787552533.2201228,
    "status": "ok",
    "timestamp": 1787552534.426452,
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8fd5bbe3d936180e",
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "op": "test",
    "description": "long-input-agent-test",
    "start_timestamp": 1787552532.10205,
    "timestamp": 1787552534.431209,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a816e189d488ad74",
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "parent_span_id": "8fd5bbe3d936180e",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552532.1031928,
    "timestamp": 1787552534.430717,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.tool_calls": "[{\"name\":\"get_word_count\",\"args\":{\"text\":\"This is a test message that will be repeated many times to create a very long input.\"},\"type\":\"tool_call\",\"id\":\"call_9nCxlafSTALftvuBz3B53tUL\"}]",
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"2400\"},{\"role\":\"assistant\",\"content\":\"The text is a long repetition of the phrase \\\"This is a test message that will be repeated many times to create a very long input.\\\"\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 11002,
      "gen_ai.usage.output_tokens": 61,
      "gen_ai.usage.total_tokens": 11063
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a24f41a423b11ba1",
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "parent_span_id": "a816e189d488ad74",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552532.1218507,
    "timestamp": 1787552533.1929789,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\"}]",
      "gen_ai.response.finish_reasons": "[\"tool_calls\"]",
      "gen_ai.response.tool_calls": "[{\"name\":\"get_word_count\",\"args\":{\"text\":\"This is a test message that will be repeated many times to create a very long input.\"},\"type\":\"tool_call\",\"id\":\"call_9nCxlafSTALftvuBz3B53tUL\"}]",
      "gen_ai.response.text": "[\"\"]",
      "gen_ai.usage.input_tokens": 5477,
      "gen_ai.usage.output_tokens": 32,
      "gen_ai.usage.total_tokens": 5509,
      "gen_ai.response.id": "chatcmpl-EGIMOi3ylejSjohD2v9zKqT2VfuxR",
      "gen_ai.response.stop_reason": "tool_calls"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "acc398b9fd084f39",
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "parent_span_id": "a816e189d488ad74",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552533.203928,
    "timestamp": 1787552533.2081761,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.execute_tool",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.type": "function",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.tool.call.id": "call_9nCxlafSTALftvuBz3B53tUL",
      "gen_ai.tool.input": "{\"text\":\"This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "2400"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a196ad7ce5073c24",
    "trace_id": "6c5210ab73804b6581bb017ce086fd4f",
    "parent_span_id": "a816e189d488ad74",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552533.2135675,
    "timestamp": 1787552534.4271224,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"},{\"role\":\"assistant\",\"content\":\"\"},{\"role\":\"tool\",\"content\":\"2400\"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The text is a long repetition of the phrase \\\"This is a test message that will be repeated many times to create a very long input.\\\"\"]",
      "gen_ai.usage.input_tokens": 5525,
      "gen_ai.usage.output_tokens": 29,
      "gen_ai.usage.total_tokens": 5554,
      "gen_ai.response.id": "chatcmpl-EGIMPxxawqfHmcPomaeBPKrrcxzQq",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Long Input Agent Test (anthropic)❗︎ 1⚠︎ 11847ms
checkAgentSpanAttributes
checkChatSpanAttributes
b73bd6fcgen_ai.usage.input_tokensSpan b73bd6fc: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b73bd6fcgen_ai.usage.output_tokensSpan b73bd6fc: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkInputMessagesSchema
checkResponseModel
b73bd6fcgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "abeedd8367fb626a",
    "span_id": "89c649f748ba36e0",
    "start_timestamp": 1787552532.2854698,
    "status": "invalid_argument",
    "timestamp": 1787552532.3904476,
    "trace_id": "b5658d018e7e4d02b004b858c6809989",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b0280b8d41d2346f",
    "trace_id": "b5658d018e7e4d02b004b858c6809989",
    "op": "test",
    "description": "long-input-agent-test",
    "start_timestamp": 1787552532.2513442,
    "timestamp": 1787552532.3998914,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "abeedd8367fb626a",
    "trace_id": "b5658d018e7e4d02b004b858c6809989",
    "parent_span_id": "b0280b8d41d2346f",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552532.2523942,
    "timestamp": 1787552532.3992465,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.available_tools": "[{\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\",\"schema\":{\"_def\":{\"unknownKeys\":\"strip\",\"catchall\":{\"_def\":{\"typeName\":\"ZodNever\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"}},\"typeName\":\"ZodObject\"},\"~standard\":{\"version\":1,\"vendor\":\"zod\"},\"_cached\":null}}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b73bd6fc247706f1",
    "trace_id": "b5658d018e7e4d02b004b858c6809989",
    "parent_span_id": "abeedd8367fb626a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552532.2711194,
    "timestamp": 1787552532.3923774,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.available_tools": "[{\"type\":\"function\",\"name\":\"get_word_count\",\"description\":\"Count the number of words in a text\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langgraph :: Conversation ID Agent Test (openai)❗︎ 1⚠︎ 14553ms
checkAgentSpanAttributes
checkChatSpanAttributes
8fd8ff24gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8fd8ff24gen_ai.output.messagesMissing output messages attribute
a87d3ca2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a87d3ca2gen_ai.output.messagesMissing output messages attribute
ae7198f4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae7198f4gen_ai.output.messagesMissing output messages attribute
8f737bdegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8f737bdegen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8fd8ff24gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a87d3ca2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
ae7198f4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8f737bdegen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(8 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a2ff9bafe465f678",
    "span_id": "953a6683ab30f820",
    "start_timestamp": 1787552533.3243704,
    "status": "ok",
    "timestamp": 1787552533.9288554,
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "ba78f491e053d506",
    "span_id": "8b621b54eb190b49",
    "start_timestamp": 1787552533.941765,
    "status": "ok",
    "timestamp": 1787552534.5412126,
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a4d5ac921f105461",
    "span_id": "849ef75f76b402e6",
    "start_timestamp": 1787552534.5474796,
    "status": "ok",
    "timestamp": 1787552535.662333,
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "bc64b9d60b40fea0",
    "span_id": "bff09d9e27119ac9",
    "start_timestamp": 1787552535.6761951,
    "status": "ok",
    "timestamp": 1787552536.1911373,
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a48ae0baa960c946",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "op": "test",
    "description": "conversation-id-agent-test",
    "start_timestamp": 1787552533.269478,
    "timestamp": 1787552536.208576,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a2ff9bafe465f678",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "a48ae0baa960c946",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552533.2712145,
    "timestamp": 1787552533.9363816,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8fd8ff2463521f8b",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "a2ff9bafe465f678",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552533.3077073,
    "timestamp": 1787552533.9315774,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21,
      "gen_ai.response.id": "chatcmpl-EGIMPKvnKzoQAcpLbBJr5xUX5oonv",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba78f491e053d506",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "a48ae0baa960c946",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552533.9371483,
    "timestamp": 1787552534.5434527,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a87d3ca23535981d",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "ba78f491e053d506",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552533.9404805,
    "timestamp": 1787552534.541868,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"2 + 2 equals 4.\"]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.id": "chatcmpl-EGIMQv1vroBNmsYv4tEGY54Ha1inM",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a4d5ac921f105461",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "a48ae0baa960c946",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552534.5438247,
    "timestamp": 1787552535.669055,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"Could you please specify what aspect of Germany you are interested in? Topics could include its history, culture, economy, politics, geography, travel destinations, or current events. Let me know so I can provide you with the most relevant information!\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 48,
      "gen_ai.usage.total_tokens": 59
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae7198f452baeb26",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "a4d5ac921f105461",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552534.5467427,
    "timestamp": 1787552535.6665878,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Could you please specify what aspect of Germany you are interested in? Topics could include its history, culture, economy, politics, geography, travel destinations, or current events. Let me know so I can provide you with the most relevant information!\"]",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 48,
      "gen_ai.usage.total_tokens": 59,
      "gen_ai.response.id": "chatcmpl-EGIMQpp2Mu6WUcMqfJcwzlLLIPuqo",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bc64b9d60b40fea0",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "a48ae0baa960c946",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552535.6694827,
    "timestamp": 1787552536.2066343,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "[{\"role\":\"assistant\",\"content\":\"3 + 3 equals 6.\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8f737bdee36bbffa",
    "trace_id": "606fe897916c4d1db0ba137ebfa4bea6",
    "parent_span_id": "bc64b9d60b40fea0",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552535.6748629,
    "timestamp": 1787552536.1970625,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 equals 6.\"]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.id": "chatcmpl-EGIMRzZBrI57zH2sKrOnPnOLdDWsT",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langgraph :: Conversation ID Agent Test (anthropic)❗︎ 1 1⚠︎ 13477ms
checkAgentSpanAttributes
checkChatSpanAttributes
981ba7bfgen_ai.usage.input_tokensSpan 981ba7bf: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
981ba7bfgen_ai.usage.output_tokensSpan 981ba7bf: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
995764e2gen_ai.usage.input_tokensSpan 995764e2: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
995764e2gen_ai.usage.output_tokensSpan 995764e2: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b9647b88gen_ai.usage.input_tokensSpan b9647b88: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b9647b88gen_ai.usage.output_tokensSpan b9647b88: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
a172fe13gen_ai.usage.input_tokensSpan a172fe13: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a172fe13gen_ai.usage.output_tokensSpan a172fe13: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkAgentHierarchy
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
9e27aa0fgen_ai.usage.input_tokensinput_tokens must exist
9e27aa0fgen_ai.usage.output_tokensoutput_tokens must exist
9e27aa0fgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
981ba7bfgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
995764e2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b9647b88gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a172fe13gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9e27aa0fc26d749c",
    "span_id": "a056dabb5b7d5b8e",
    "start_timestamp": 1787552533.5875814,
    "status": "invalid_argument",
    "timestamp": 1787552533.7929,
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "93f9db0e759c7789",
    "span_id": "ae4f1525d8c3df7a",
    "start_timestamp": 1787552533.812652,
    "status": "invalid_argument",
    "timestamp": 1787552534.0174391,
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8f3dc77186f9f174",
    "span_id": "96bc9c87f9257e79",
    "start_timestamp": 1787552534.0237796,
    "status": "invalid_argument",
    "timestamp": 1787552535.3301501,
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9b85c3bd8169def9",
    "span_id": "8b7f2b9e74e92405",
    "start_timestamp": 1787552535.3380098,
    "status": "invalid_argument",
    "timestamp": 1787552535.440362,
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8767f5ffcfb89791",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "op": "test",
    "description": "conversation-id-agent-test",
    "start_timestamp": 1787552533.5361962,
    "timestamp": 1787552535.4431078,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9e27aa0fc26d749c",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "8767f5ffcfb89791",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552533.537818,
    "timestamp": 1787552533.8063595,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "981ba7bf917ba4c9",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "9e27aa0fc26d749c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552533.5683973,
    "timestamp": 1787552533.7953649,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "93f9db0e759c7789",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "8767f5ffcfb89791",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552533.807259,
    "timestamp": 1787552534.019703,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "995764e2ca2e942c",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "93f9db0e759c7789",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552533.8113286,
    "timestamp": 1787552534.017857,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8f3dc77186f9f174",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "8767f5ffcfb89791",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552534.0199866,
    "timestamp": 1787552535.3334525,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b9647b881fb1dc12",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "8f3dc77186f9f174",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552534.023021,
    "timestamp": 1787552535.3305538,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "9b85c3bd8169def9",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "8767f5ffcfb89791",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552535.3337896,
    "timestamp": 1787552535.4428601,
    "data": {
      "sentry.origin": "auto.ai.langgraph",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a172fe1316667258",
    "trace_id": "ee6ca5b231884473a182424380d20055",
    "parent_span_id": "9b85c3bd8169def9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552535.3370554,
    "timestamp": 1787552535.4408202,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  }
]
node/mastra :: Basic Agent Test❗︎ 3 111707ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkAgentHierarchy
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
No spans captured
node/mastra :: Tool Call Agent Test❗︎ 4 411729ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkAvailableTools
Should have at least one chat span
checkResponseToolCalls(add, multiply)
Should have at least one chat span
checkToolCalls(add, multiply)
Should have at least 2 tool span(s) but found 0
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
No spans captured
node/mastra :: Tool Error Agent Test❗︎ 4 411686ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
Should have at least one AI span
checkAvailableTools
Should have at least one chat span
checkResponseToolCalls(read_file)
Should have at least one chat span
checkInputMessagesSchema
Should have at least one chat or agent span
checkToolErrorSpan
Should have at least one tool span but found none
checkResponseModel(No chat or embedding spans captured)
No spans captured
node/mastra :: Vision Agent Test❗︎ 3 211687ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkAgentHierarchy
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkBinaryRedaction
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
No spans captured
node/mastra :: Long Input Agent Test❗︎ 3 111450ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkAgentHierarchy
Should have at least one AI span
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
No spans captured
node/mastra :: Conversation ID Agent Test❗︎ 4 111366ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkAgentHierarchy
Should have at least one AI span
checkConversationIds([conv-a, conv-b])
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
No spans captured
node/vercel :: Tool Error Agent Test (streaming, function, openai)❗︎ 4 44589ms
checkAgentSpanAttributes
Should have at least one agent span
checkChatSpanAttributes
Should have at least one chat/completion span
checkToolSpanAttributes
Should have at least one tool span
checkAgentHierarchy
Should have at least one AI span
checkAvailableTools
Should have at least one chat span
checkResponseToolCalls(read_file)
Should have at least one chat span
checkInputMessagesSchema
Should have at least one chat or agent span
checkToolErrorSpan
Should have at least one tool span but found none
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/openai/3.0.90 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "8dff096ed30178bf",
    "span_id": "9f24cc934e411c52",
    "start_timestamp": 1787552549.4790838,
    "status": "ok",
    "timestamp": 1787552550.7422855,
    "trace_id": "7fa98a96ad7c46ac96e092ef86c195e9",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/openai/3.0.90 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "8dff096ed30178bf",
    "span_id": "beb6ce37252dadb3",
    "start_timestamp": 1787552550.7471042,
    "status": "ok",
    "timestamp": 1787552551.3923218,
    "trace_id": "7fa98a96ad7c46ac96e092ef86c195e9",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8dff096ed30178bf",
    "trace_id": "7fa98a96ad7c46ac96e092ef86c195e9",
    "op": "test",
    "description": "tool-error-agent-test",
    "start_timestamp": 1787552549.4128413,
    "timestamp": 1787552551.3941598,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  }
]
node/vercel :: Vision Agent Test (streaming, function, openai) 12989ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a8152cc2gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a8152cc2gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
968ce7abgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
968ce7abgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/openai/3.0.90 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "a8152cc2fae1a469",
    "span_id": "b33669d1d88a339b",
    "start_timestamp": 1787552550.3598626,
    "status": "ok",
    "timestamp": 1787552551.3249533,
    "trace_id": "cd2ec1abea774c9fa0203a60d83344de",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b26d404f79c96330",
    "trace_id": "cd2ec1abea774c9fa0203a60d83344de",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552550.3301678,
    "timestamp": 1787552551.329265,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "968ce7abd9304d3f",
    "trace_id": "cd2ec1abea774c9fa0203a60d83344de",
    "parent_span_id": "b26d404f79c96330",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552550.337475,
    "timestamp": 1787552551.3285768,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552550-pCgCXOyt5DQsgwMeQi4x",
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552550-pCgCXOyt5DQsgwMeQi4x\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a8152cc2fae1a469",
    "trace_id": "cd2ec1abea774c9fa0203a60d83344de",
    "parent_span_id": "968ce7abd9304d3f",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552550.3452618,
    "timestamp": 1787552551.3275144,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552550-pCgCXOyt5DQsgwMeQi4x",
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552550-pCgCXOyt5DQsgwMeQi4x",
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 976.4022689999999,
      "vercel.ai.response.msToFinish": 981.2473929999999,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552550-pCgCXOyt5DQsgwMeQi4x",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:30.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552550-pCgCXOyt5DQsgwMeQi4x\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 1.0191109878444284
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (streaming, function, anthropic) 1⚠︎ 13500ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
96046580gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
96046580gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
bc7aa5c0gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bc7aa5c0gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
96046580gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/anthropic/3.0.105 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "960465807a7f969e",
    "span_id": "a5255df34577735f",
    "start_timestamp": 1787552550.44475,
    "status": "ok",
    "timestamp": 1787552551.8483372,
    "trace_id": "5568d7a37ca64e668be92f5825fbf258",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "a1cac3ede1c4c073",
    "trace_id": "5568d7a37ca64e668be92f5825fbf258",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552550.4264123,
    "timestamp": 1787552551.8548038,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bc7aa5c001cb42d7",
    "trace_id": "5568d7a37ca64e668be92f5825fbf258",
    "parent_span_id": "a1cac3ede1c4c073",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552550.4314582,
    "timestamp": 1787552551.8537776,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "960465807a7f969e",
    "trace_id": "5568d7a37ca64e668be92f5825fbf258",
    "parent_span_id": "bc7aa5c001cb42d7",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552550.4362586,
    "timestamp": 1787552551.852039,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552550-F9B8kSIzbO0eQ7Mx9ZbW",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 737.5664379999998,
      "vercel.ai.response.msToFinish": 1414.260526,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552550-F9B8kSIzbO0eQ7Mx9ZbW",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:31.173Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 2.828333200611441
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (streaming, class, openai) 12826ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9d22cd7bgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9d22cd7bgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
88127736gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
88127736gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/openai/3.0.90 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "9d22cd7b6373de9f",
    "span_id": "a72ec3ebc4e8c4bf",
    "start_timestamp": 1787552550.4052005,
    "status": "ok",
    "timestamp": 1787552551.2420647,
    "trace_id": "44baa9a9fa2a4ba4bb7785da151ca10a",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "82d90f04ac862ef2",
    "trace_id": "44baa9a9fa2a4ba4bb7785da151ca10a",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552550.3755026,
    "timestamp": 1787552551.2466655,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "88127736572f2f5a",
    "trace_id": "44baa9a9fa2a4ba4bb7785da151ca10a",
    "parent_span_id": "82d90f04ac862ef2",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552550.3823786,
    "timestamp": 1787552551.2460103,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552550-HoZ7SUnmL00qrhSd01V5",
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552550-HoZ7SUnmL00qrhSd01V5\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9d22cd7b6373de9f",
    "trace_id": "44baa9a9fa2a4ba4bb7785da151ca10a",
    "parent_span_id": "88127736572f2f5a",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552550.3898885,
    "timestamp": 1787552551.2446468,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552550-HoZ7SUnmL00qrhSd01V5",
      "gen_ai.usage.input_tokens": 11481,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.total_tokens": 11482,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552550-HoZ7SUnmL00qrhSd01V5",
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 819.9649509999997,
      "vercel.ai.response.msToFinish": 853.6061709999997,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552550-HoZ7SUnmL00qrhSd01V5",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:30.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552550-HoZ7SUnmL00qrhSd01V5\",\"serviceTier\":\"auto\"}}",
      "vercel.ai.usage.totalTokens": 8538,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 1.1715004342441666
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (streaming, class, anthropic) 1⚠︎ 13296ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
912a1024gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
912a1024gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
bd722c63gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bd722c63gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
912a1024gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai-sdk/anthropic/3.0.105 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "912a102425ef72c2",
    "span_id": "9fe2b2a8693863a6",
    "start_timestamp": 1787552553.6292238,
    "status": "ok",
    "timestamp": 1787552554.5025904,
    "trace_id": "4663ae3ac4724450bdbc116ff1095646",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b65afa8b957624a5",
    "trace_id": "4663ae3ac4724450bdbc116ff1095646",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552553.4902854,
    "timestamp": 1787552554.516629,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bd722c63c0254cb2",
    "trace_id": "4663ae3ac4724450bdbc116ff1095646",
    "parent_span_id": "b65afa8b957624a5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552553.5174074,
    "timestamp": 1787552554.5145974,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "streamText",
      "vercel.ai.streaming": true,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "912a102425ef72c2",
    "trace_id": "4663ae3ac4724450bdbc116ff1095646",
    "parent_span_id": "bd722c63c0254cb2",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552553.5523007,
    "timestamp": 1787552554.5123608,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552553-OxcP82yZGhAWG7MW5Co8",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.streamText.doStream",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.pipeline.name": "streamText.doStream",
      "vercel.ai.streaming": true,
      "vercel.ai.response.msToFirstChunk": 933.437195,
      "vercel.ai.response.msToFinish": 950.7734689999997,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552553-OxcP82yZGhAWG7MW5Co8",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:34.492Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}",
      "vercel.ai.usage.totalTokens": 42,
      "vercel.ai.usage.reasoningTokens": 0,
      "vercel.ai.response.avgCompletionTokensPerSecond": 4.207100987164799
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (blocking, function, openai) 13437ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b92b385fgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b92b385fgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
87b44afagen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
87b44afagen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "b92b385ffa0305f2",
    "span_id": "ac24ae706a98aeab",
    "start_timestamp": 1787552553.9544373,
    "status": "ok",
    "timestamp": 1787552554.636966,
    "trace_id": "ac8afca8e84b4fb49990c1a8ffe480d7",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b25908609a96b604",
    "trace_id": "ac8afca8e84b4fb49990c1a8ffe480d7",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552553.9107351,
    "timestamp": 1787552554.6859808,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "87b44afa282e3a4a",
    "trace_id": "ac8afca8e84b4fb49990c1a8ffe480d7",
    "parent_span_id": "b25908609a96b604",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552553.9210074,
    "timestamp": 1787552554.6828551,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552554-yqATQShQ2ZRBWgEsxV2Y",
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552554-yqATQShQ2ZRBWgEsxV2Y\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b92b385ffa0305f2",
    "trace_id": "ac8afca8e84b4fb49990c1a8ffe480d7",
    "parent_span_id": "87b44afa282e3a4a",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552553.9318147,
    "timestamp": 1787552554.6777897,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552554-yqATQShQ2ZRBWgEsxV2Y",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552554-yqATQShQ2ZRBWgEsxV2Y",
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552554-yqATQShQ2ZRBWgEsxV2Y",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:34.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552554-yqATQShQ2ZRBWgEsxV2Y\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (blocking, function, anthropic) 1⚠︎ 13416ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a5f048a2gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a5f048a2gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
be737f0bgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
be737f0bgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
a5f048a2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a5f048a295b439ab",
    "span_id": "ade4286524a676ca",
    "start_timestamp": 1787552553.800969,
    "status": "ok",
    "timestamp": 1787552554.653635,
    "trace_id": "417bcba51bd647ee82fe5c0da958e990",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "88abff6710803acb",
    "trace_id": "417bcba51bd647ee82fe5c0da958e990",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552553.7725976,
    "timestamp": 1787552554.7028852,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "be737f0b505742d3",
    "trace_id": "417bcba51bd647ee82fe5c0da958e990",
    "parent_span_id": "88abff6710803acb",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent",
    "start_timestamp": 1787552553.7792392,
    "timestamp": 1787552554.6985152,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5f048a295b439ab",
    "trace_id": "417bcba51bd647ee82fe5c0da958e990",
    "parent_span_id": "be737f0b505742d3",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552553.783077,
    "timestamp": 1787552554.6971154,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552553-ni7p5W7DhknybEg7lyeO",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552553-ni7p5W7DhknybEg7lyeO",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:34.696Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (blocking, class, openai) 13057ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b88bccc6gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b88bccc6gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
ab1ca41egen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
ab1ca41egen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/responses",
      "url.path": "/api/v1/responses",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/responses",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/responses",
    "op": "http.client",
    "parent_span_id": "b88bccc6c0314b4e",
    "span_id": "9c8c8fea545ced3c",
    "start_timestamp": 1787552553.705769,
    "status": "ok",
    "timestamp": 1787552554.3461537,
    "trace_id": "049a97c706704a24ae93aa1eb0b4df39",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b159d1da64eed913",
    "trace_id": "049a97c706704a24ae93aa1eb0b4df39",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552553.6794696,
    "timestamp": 1787552554.412398,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ab1ca41e33796b4e",
    "trace_id": "049a97c706704a24ae93aa1eb0b4df39",
    "parent_span_id": "b159d1da64eed913",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552553.6868017,
    "timestamp": 1787552554.4054096,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "gen_ai.conversation.id": "gen-1787552553-1t6dTZ6wQyhhxSNilmmd",
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552553-1t6dTZ6wQyhhxSNilmmd\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b88bccc6c0314b4e",
    "trace_id": "049a97c706704a24ae93aa1eb0b4df39",
    "parent_span_id": "ab1ca41e33796b4e",
    "op": "gen_ai.generate_content",
    "description": "generate_content openai/gpt-4o-mini",
    "start_timestamp": 1787552553.6904285,
    "timestamp": 1787552554.4041476,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "openai.responses",
      "gen_ai.request.model": "openai/gpt-4o-mini",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "openai/gpt-4o-mini",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552553-1t6dTZ6wQyhhxSNilmmd",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Red\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.conversation.id": "gen-1787552553-1t6dTZ6wQyhhxSNilmmd",
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "openai.responses",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552553-1t6dTZ6wQyhhxSNilmmd",
      "vercel.ai.response.model": "openai/gpt-4o-mini",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:33.000Z",
      "vercel.ai.response.providerMetadata": "{\"openai\":{\"responseId\":\"gen-1787552553-1t6dTZ6wQyhhxSNilmmd\",\"serviceTier\":\"auto\"}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/vercel :: Vision Agent Test (blocking, class, anthropic) 1⚠︎ 13412ms
checkAgentSpanAttributes
checkChatSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
956cb3c9gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
956cb3c9gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
8da57349gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8da57349gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
956cb3c9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "ai/6.0.116 ai-sdk/provider-utils/4.0.41 runtime/node.js/24",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "956cb3c9de11bd00",
    "span_id": "a2d58ab7c9fced03",
    "start_timestamp": 1787552554.0521863,
    "status": "ok",
    "timestamp": 1787552554.8010175,
    "trace_id": "a667a6ec7c6040d48846289374999e3d",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8ae9f5fffe8e78c2",
    "trace_id": "a667a6ec7c6040d48846289374999e3d",
    "op": "test",
    "description": "vision-agent-test",
    "start_timestamp": 1787552554.002879,
    "timestamp": 1787552554.815702,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8da573493c5e5608",
    "trace_id": "a667a6ec7c6040d48846289374999e3d",
    "parent_span_id": "8ae9f5fffe8e78c2",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552554.0168345,
    "timestamp": 1787552554.8149602,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "sentry.op": "gen_ai.invoke_agent",
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.prompt": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"image\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\",\"mimeType\":\"image/png\"}]}]",
      "vercel.ai.pipeline.name": "generateText",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "956cb3c9de11bd00",
    "trace_id": "a667a6ec7c6040d48846289374999e3d",
    "parent_span_id": "8da573493c5e5608",
    "op": "gen_ai.generate_content",
    "description": "generate_content anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552554.0238955,
    "timestamp": 1787552554.8140666,
    "data": {
      "sentry.origin": "auto.vercelai.otel",
      "resource.name": "vision_assistant",
      "gen_ai.system": "anthropic.messages",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "sentry.source": "custom",
      "gen_ai.function_id": "vision_assistant",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"file\",\"mediaType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.id": "gen-1787552554-6xRciJBAgHLSI0I3YHG2",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.operation.name": "generate_content",
      "gen_ai.output.messages": "[{\"role\":\"assistant\",\"parts\":[{\"type\":\"text\",\"content\":\"Pink\"}],\"finish_reason\":\"stop\"}]",
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "vercel.ai.operationId": "ai.generateText.doGenerate",
      "vercel.ai.telemetry.functionId": "vision_assistant",
      "vercel.ai.model.provider": "anthropic.messages",
      "vercel.ai.settings.maxRetries": 2,
      "vercel.ai.request.headers.user-agent": "ai/6.0.116",
      "vercel.ai.pipeline.name": "generateText.doGenerate",
      "vercel.ai.streaming": false,
      "vercel.ai.response.finishReason": "stop",
      "vercel.ai.response.id": "gen-1787552554-6xRciJBAgHLSI0I3YHG2",
      "vercel.ai.response.model": "anthropic/claude-haiku-4.5",
      "vercel.ai.response.timestamp": "2026-08-24T06:22:34.813Z",
      "vercel.ai.response.providerMetadata": "{\"anthropic\":{\"usage\":{\"input_tokens\":38,\"output_tokens\":4,\"output_tokens_details\":{\"thinking_tokens\":0},\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"inference_geo\":null,\"server_tool_use\":null,\"service_tier\":\"standard\",\"speed\":\"standard\",\"cost\":0,\"is_byok\":true,\"cost_details\":{\"upstream_inference_cost\":0.000058,\"upstream_inference_prompt_cost\":0.000038,\"upstream_inference_completions_cost\":0.00002}},\"cacheCreationInputTokens\":0,\"stopSequence\":null,\"iterations\":null,\"container\":null,\"contextManagement\":null}}"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Basic Agent Test (sync, openai)❗︎ 225706ms
checkAgentSpanAttributes
checkChatSpanAttributes
9b3fcbd8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b3fcbd8gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
9b3fcbd8gen_ai.agent.nameChild span (gen_ai.chat, id: 9b3fcbd8) should have gen_ai.agent.name attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "span_id": "b6c6de58f4542e0e",
    "parent_span_id": "9b3fcbd85c862adc",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.497789Z",
    "timestamp": "2026-08-24T06:23:08.500279Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11323
    },
    "data": {
      "thread.id": "140667843300224",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "span_id": "b3adb66e134e5926",
    "parent_span_id": "9b3fcbd85c862adc",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.500344Z",
    "timestamp": "2026-08-24T06:23:08.500454Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11323
    },
    "data": {
      "thread.id": "140667843300224",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "span_id": "a1ea35a57a720017",
    "parent_span_id": "b3adb66e134e5926",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.500420Z",
    "timestamp": "2026-08-24T06:23:08.500449Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11323
    },
    "data": {
      "thread.id": "140667843300224",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "span_id": "a32eae35ff4b4fdd",
    "parent_span_id": "9b3fcbd85c862adc",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.500482Z",
    "timestamp": "2026-08-24T06:23:08.500494Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11323
    },
    "data": {
      "thread.id": "140667843300224",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "span_id": "8066671b6dbfa7f2",
    "parent_span_id": "9b3fcbd85c862adc",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:08.501657Z",
    "timestamp": "2026-08-24T06:23:09.103144Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140667843300224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a5582a5171dd07b2",
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.489989Z",
    "timestamp": "2026-08-24T06:23:09.111913Z",
    "data": {
      "thread.id": "140667843300224",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bd3a2d8eeddfa292",
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "parent_span_id": "a5582a5171dd07b2",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552588.490561,
    "timestamp": 1787552589.111867,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140667843300224",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "a5582a5171dd07b2",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9b3fcbd85c862adc",
    "trace_id": "24adc3c949c64aaf946b332698812cf6",
    "parent_span_id": "bd3a2d8eeddfa292",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552588.493697,
    "timestamp": 1787552589.111231,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140667843300224",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "a5582a5171dd07b2",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Basic Agent Test (sync, anthropic)❗︎ 2 1⚠︎ 125132ms
checkAgentSpanAttributes
checkChatSpanAttributes
a15232ccgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a15232ccgen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
a15232ccgen_ai.agent.nameChild span (gen_ai.chat, id: a15232cc) should have gen_ai.agent.name attribute
checkValidTokenUsage
a54961f8gen_ai.usage.input_tokensinput_tokens must exist
a54961f8gen_ai.usage.output_tokensoutput_tokens must exist
a54961f8gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a15232ccgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "span_id": "bd0b091523f2476e",
    "parent_span_id": "a15232cc9c9d9b59",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.553357Z",
    "timestamp": "2026-08-24T06:23:08.554428Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11327
    },
    "data": {
      "thread.id": "140262706314112",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "span_id": "b77fb888e239cc13",
    "parent_span_id": "a15232cc9c9d9b59",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.554483Z",
    "timestamp": "2026-08-24T06:23:08.555033Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11327
    },
    "data": {
      "thread.id": "140262706314112",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "span_id": "96af928adfcd2c6d",
    "parent_span_id": "b77fb888e239cc13",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.554998Z",
    "timestamp": "2026-08-24T06:23:08.555027Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11327
    },
    "data": {
      "thread.id": "140262706314112",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "span_id": "b3f251f92fe60083",
    "parent_span_id": "a15232cc9c9d9b59",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.555061Z",
    "timestamp": "2026-08-24T06:23:08.555072Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11327
    },
    "data": {
      "thread.id": "140262706314112",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "span_id": "a9bba75a35d96f4f",
    "parent_span_id": "a15232cc9c9d9b59",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:08.556140Z",
    "timestamp": "2026-08-24T06:23:09.191076Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140262706314112",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bcbc1c5887c4b3d9",
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.517521Z",
    "timestamp": "2026-08-24T06:23:09.229708Z",
    "data": {
      "thread.id": "140262706314112",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a54961f8b3f6774f",
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "parent_span_id": "bcbc1c5887c4b3d9",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552588.51817,
    "timestamp": 1787552589.229646,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140262706314112",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "bcbc1c5887c4b3d9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a15232cc9c9d9b59",
    "trace_id": "c14464a5ec5a4d22a2421b3d7f94594f",
    "parent_span_id": "a54961f8b3f6774f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552588.521194,
    "timestamp": 1787552589.228829,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140262706314112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "bcbc1c5887c4b3d9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Basic Agent Test (async, openai)❗︎ 223060ms
checkAgentSpanAttributes
checkChatSpanAttributes
bbd26db4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bbd26db4gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
bbd26db4gen_ai.agent.nameChild span (gen_ai.chat, id: bbd26db4) should have gen_ai.agent.name attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "span_id": "a96741702b4cf20c",
    "parent_span_id": "bbd26db41eb55789",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.490710Z",
    "timestamp": "2026-08-24T06:23:08.492340Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11321
    },
    "data": {
      "thread.id": "140453818525376",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "span_id": "b11e5fc738e20a01",
    "parent_span_id": "bbd26db41eb55789",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.492408Z",
    "timestamp": "2026-08-24T06:23:08.492513Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11321
    },
    "data": {
      "thread.id": "140453818525376",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "span_id": "af65464e637df6bd",
    "parent_span_id": "b11e5fc738e20a01",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.492483Z",
    "timestamp": "2026-08-24T06:23:08.492510Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11321
    },
    "data": {
      "thread.id": "140453818525376",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "span_id": "9f3cca5a832ee77c",
    "parent_span_id": "bbd26db41eb55789",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.492540Z",
    "timestamp": "2026-08-24T06:23:08.492551Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11321
    },
    "data": {
      "thread.id": "140453818525376",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "span_id": "86954493aee9e790",
    "parent_span_id": "bbd26db41eb55789",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:08.493877Z",
    "timestamp": "2026-08-24T06:23:09.028421Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140453952482176",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 52,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b2a26518ee5c69c9",
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.475434Z",
    "timestamp": "2026-08-24T06:23:09.037627Z",
    "data": {
      "thread.id": "140453952482176",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8fe0ea1c914363cc",
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "parent_span_id": "b2a26518ee5c69c9",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552588.477245,
    "timestamp": 1787552589.036735,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140453952482176",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "b2a26518ee5c69c9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bbd26db41eb55789",
    "trace_id": "86c3e790626f4fb1900e97efc60e8523",
    "parent_span_id": "8fe0ea1c914363cc",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552588.485488,
    "timestamp": 1787552589.035526,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140453818525376",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "b2a26518ee5c69c9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Basic Agent Test (async, anthropic)❗︎ 2 1⚠︎ 122816ms
checkAgentSpanAttributes
checkChatSpanAttributes
a1b73a37gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a1b73a37gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
a1b73a37gen_ai.agent.nameChild span (gen_ai.chat, id: a1b73a37) should have gen_ai.agent.name attribute
checkValidTokenUsage
a1bae207gen_ai.usage.input_tokensinput_tokens must exist
a1bae207gen_ai.usage.output_tokensoutput_tokens must exist
a1bae207gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a1b73a37gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "span_id": "ad7d995d166e99d6",
    "parent_span_id": "a1b73a3788c899ca",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.216809Z",
    "timestamp": "2026-08-24T06:23:08.218075Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11298
    },
    "data": {
      "thread.id": "140553131910848",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "span_id": "a0efff7f6d8e0765",
    "parent_span_id": "a1b73a3788c899ca",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.218147Z",
    "timestamp": "2026-08-24T06:23:08.221504Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11298
    },
    "data": {
      "thread.id": "140553131910848",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "span_id": "af5f10a0d4aa491f",
    "parent_span_id": "a0efff7f6d8e0765",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.221439Z",
    "timestamp": "2026-08-24T06:23:08.221493Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11298
    },
    "data": {
      "thread.id": "140553131910848",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "span_id": "b9fd9b5004e93976",
    "parent_span_id": "a1b73a3788c899ca",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.221540Z",
    "timestamp": "2026-08-24T06:23:08.221555Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11298
    },
    "data": {
      "thread.id": "140553131910848",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "span_id": "aa727c227c88133b",
    "parent_span_id": "a1b73a3788c899ca",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:08.224454Z",
    "timestamp": "2026-08-24T06:23:09.066246Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140553264655232",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b5af798fe354fb73",
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.083693Z",
    "timestamp": "2026-08-24T06:23:09.083853Z",
    "data": {
      "thread.id": "140553264655232",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a1bae207b8b1ea2a",
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "parent_span_id": "b5af798fe354fb73",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552588.087428,
    "timestamp": 1787552589.083039,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140553264655232",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "b5af798fe354fb73",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a1b73a3788c899ca",
    "trace_id": "33aa71fe193b41ffaad917431eab45ea",
    "parent_span_id": "a1bae207b8b1ea2a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552588.111966,
    "timestamp": 1787552589.08194,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140553131910848",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "b5af798fe354fb73",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Call Agent Test (sync, openai)❗︎ 2 124845ms
checkAgentSpanAttributes
checkChatSpanAttributes
b7ea5491gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7ea5491gen_ai.output.messagesMissing output messages attribute
a5135c0bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5135c0bgen_ai.output.messagesMissing output messages attribute
b307546cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b307546cgen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
b7ea5491gen_ai.agent.nameChild span (gen_ai.chat, id: b7ea5491) should have gen_ai.agent.name attribute
a73f8523gen_ai.agent.nameChild span (gen_ai.execute_tool, id: a73f8523) should have gen_ai.agent.name attribute
a5135c0bgen_ai.agent.nameChild span (gen_ai.chat, id: a5135c0b) should have gen_ai.agent.name attribute
bf9cd637gen_ai.agent.nameChild span (gen_ai.execute_tool, id: bf9cd637) should have gen_ai.agent.name attribute
b307546cgen_ai.agent.nameChild span (gen_ai.chat, id: b307546c) should have gen_ai.agent.name attribute
checkValidTokenUsage
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
a73f8523gen_ai.tool.outputTool "add" output should equal 8 but is {"content":"8","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"add","id":"None","tool_call_id":"call_54pjRZimy1zjJWvDL10gxsjF","artifact":"None","status":"success"}
bf9cd637gen_ai.tool.outputTool "multiply" output should equal 32 but is {"content":"32","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"multiply","id":"None","tool_call_id":"call_pacaG9GH4ZeL8YZO11lNnWci","artifact":"None","status":"success"}
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (14)
[
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "be0a04f0ef536fc3",
    "parent_span_id": "b7ea5491d8288568",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.486164Z",
    "timestamp": "2026-08-24T06:23:08.488491Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11319
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "91eae195de0a7b3f",
    "parent_span_id": "b7ea5491d8288568",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.488557Z",
    "timestamp": "2026-08-24T06:23:08.488683Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11319
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "ba3836bd32ab3646",
    "parent_span_id": "91eae195de0a7b3f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.488647Z",
    "timestamp": "2026-08-24T06:23:08.488677Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11319
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "899c43398ed4eea4",
    "parent_span_id": "b7ea5491d8288568",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.488710Z",
    "timestamp": "2026-08-24T06:23:08.488721Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11319
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "932f7b3680e4b329",
    "parent_span_id": "b7ea5491d8288568",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:08.489881Z",
    "timestamp": "2026-08-24T06:23:09.429095Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "b409c44253bb95b6",
    "parent_span_id": "a5135c0bf12aa802",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:09.451590Z",
    "timestamp": "2026-08-24T06:23:10.123031Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "span_id": "b3e4dd8f3d44c07a",
    "parent_span_id": "b307546cb0a92159",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:10.131503Z",
    "timestamp": "2026-08-24T06:23:10.786418Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "83dac7b6ca4b8297",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Call Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.476242Z",
    "timestamp": "2026-08-24T06:23:10.788278Z",
    "data": {
      "thread.id": "140173175008128",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "832a8e09b10c0c7d",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": "83dac7b6ca4b8297",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552588.476954,
    "timestamp": 1787552590.788218,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 399,
      "gen_ai.usage.output_tokens": 51,
      "gen_ai.usage.total_tokens": 450,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The result of (3 + 5) * 4 is 32.",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"call_54pjRZimy1zjJWvDL10gxsjF\", \"type\": \"tool_call\"}, {\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"call_pacaG9GH4ZeL8YZO11lNnWci\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "83dac7b6ca4b8297",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7ea5491d8288568",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": "832a8e09b10c0c7d",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552588.482602,
    "timestamp": 1787552589.444006,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"call_54pjRZimy1zjJWvDL10gxsjF\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 104,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 121,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "83dac7b6ca4b8297",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a73f8523789d7a72",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": "832a8e09b10c0c7d",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552589.445885,
    "timestamp": 1787552589.446625,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140172968588992",
      "thread.name": "ThreadPoolExecutor-2_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.tool.input": "{\"a\": 3, \"b\": 5}",
      "gen_ai.tool.output": "{\"content\": \"8\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"add\", \"id\": \"None\", \"tool_call_id\": \"call_54pjRZimy1zjJWvDL10gxsjF\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "83dac7b6ca4b8297",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5135c0bf12aa802",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": "832a8e09b10c0c7d",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552589.4482,
    "timestamp": 1787552590.124442,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"8\"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"call_pacaG9GH4ZeL8YZO11lNnWci\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 133,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 150,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "83dac7b6ca4b8297",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bf9cd63734142efb",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": "832a8e09b10c0c7d",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552590.126212,
    "timestamp": 1787552590.12682,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140172968588992",
      "thread.name": "ThreadPoolExecutor-3_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.tool.input": "{\"a\": 8, \"b\": 4}",
      "gen_ai.tool.output": "{\"content\": \"32\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"multiply\", \"id\": \"None\", \"tool_call_id\": \"call_pacaG9GH4ZeL8YZO11lNnWci\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "83dac7b6ca4b8297",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b307546cb0a92159",
    "trace_id": "5be52f3788f24b4eb55ca17348723681",
    "parent_span_id": "832a8e09b10c0c7d",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552590.128558,
    "timestamp": 1787552590.787411,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140173175008128",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"8\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"32\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The result of (3 + 5) * 4 is 32.",
      "gen_ai.usage.input_tokens": 162,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 179,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "83dac7b6ca4b8297",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Call Agent Test (sync, anthropic)❗︎ 2 2⚠︎ 124071ms
checkAgentSpanAttributes
checkChatSpanAttributes
9b93b6c2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b93b6c2gen_ai.output.messagesMissing output messages attribute
b8ce6b9bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8ce6b9bgen_ai.output.messagesMissing output messages attribute
9485a545gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9485a545gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
9b93b6c2gen_ai.agent.nameChild span (gen_ai.chat, id: 9b93b6c2) should have gen_ai.agent.name attribute
966bc3b0gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 966bc3b0) should have gen_ai.agent.name attribute
b8ce6b9bgen_ai.agent.nameChild span (gen_ai.chat, id: b8ce6b9b) should have gen_ai.agent.name attribute
8c0b3495gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 8c0b3495) should have gen_ai.agent.name attribute
9485a545gen_ai.agent.nameChild span (gen_ai.chat, id: 9485a545) should have gen_ai.agent.name attribute
checkValidTokenUsage
bebcb966gen_ai.usage.input_tokensinput_tokens must exist
bebcb966gen_ai.usage.output_tokensoutput_tokens must exist
bebcb966gen_ai.usage.total_tokenstotal_tokens must exist
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
966bc3b0gen_ai.tool.outputTool "add" output should equal 8 but is {"content":"8","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"add","id":"None","tool_call_id":"toolu_01VuH2xFTifGbYoRuG7Q5euq","artifact":"None","status":"success"}
8c0b3495gen_ai.tool.outputTool "multiply" output should equal 32 but is {"content":"32","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"multiply","id":"None","tool_call_id":"toolu_01VFpvSPqPFScCFtezFvv4gE","artifact":"None","status":"success"}
checkInputMessagesSchema
checkResponseModel
9b93b6c2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b8ce6b9bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9485a545gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (14)
[
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "bdacfca153c64547",
    "parent_span_id": "9b93b6c21d59a76a",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.360019Z",
    "timestamp": "2026-08-24T06:23:08.364724Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11304
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "b1a6a8da6fa6ab48",
    "parent_span_id": "9b93b6c21d59a76a",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.364821Z",
    "timestamp": "2026-08-24T06:23:08.365311Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11304
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "af2e2739e92d9f07",
    "parent_span_id": "b1a6a8da6fa6ab48",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.365262Z",
    "timestamp": "2026-08-24T06:23:08.365302Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11304
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "8e3eb72a44277e32",
    "parent_span_id": "9b93b6c21d59a76a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.365346Z",
    "timestamp": "2026-08-24T06:23:08.365360Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11304
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "9e7282e753c0b9b9",
    "parent_span_id": "9b93b6c21d59a76a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:08.372070Z",
    "timestamp": "2026-08-24T06:23:09.284168Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "bb270496a5d462e6",
    "parent_span_id": "b8ce6b9b8d7f64b2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:09.379821Z",
    "timestamp": "2026-08-24T06:23:10.255965Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "span_id": "a523b0081a8c37cf",
    "parent_span_id": "9485a545df8b8461",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:10.278393Z",
    "timestamp": "2026-08-24T06:23:11.043998Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "996c36d57e87ced3",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Call Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.290925Z",
    "timestamp": "2026-08-24T06:23:11.045885Z",
    "data": {
      "thread.id": "139683240201088",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bebcb9665d886d56",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": "996c36d57e87ced3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552588.291619,
    "timestamp": 1787552591.045815,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The answer is **32**.\n\nTo summarize:\n- 3 + 5 = 8\n- 8 * 4 = 32",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"toolu_01VuH2xFTifGbYoRuG7Q5euq\", \"type\": \"tool_call\"}, {\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"toolu_01VFpvSPqPFScCFtezFvv4gE\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "996c36d57e87ced3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9b93b6c21d59a76a",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": "bebcb9665d886d56",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552588.296721,
    "timestamp": 1787552589.354991,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"toolu_01VuH2xFTifGbYoRuG7Q5euq\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "I'll help you calculate (3 + 5) * 4. Let me start by adding 3 and 5.",
      "gen_ai.usage.input_tokens": 649,
      "gen_ai.usage.output_tokens": 97,
      "gen_ai.usage.total_tokens": 746,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "996c36d57e87ced3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "966bc3b025b6dc85",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": "bebcb9665d886d56",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552589.357076,
    "timestamp": 1787552589.360772,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139683107432128",
      "thread.name": "ThreadPoolExecutor-2_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.tool.input": "{\"a\": 3, \"b\": 5}",
      "gen_ai.tool.output": "{\"content\": \"8\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"add\", \"id\": \"None\", \"tool_call_id\": \"toolu_01VuH2xFTifGbYoRuG7Q5euq\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "996c36d57e87ced3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b8ce6b9b8d7f64b2",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": "bebcb9665d886d56",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552589.362507,
    "timestamp": 1787552590.257302,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"I'll help you calculate (3 + 5) * 4. Let me start by adding 3 and 5.\", \"type\": \"text\"}, {\"id\": \"toolu_01VuH2xFTifGbYoRuG7Q5euq\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"a\": 3, \"b\": 5}, \"name\": \"add\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"8\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"toolu_01VFpvSPqPFScCFtezFvv4gE\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "Now I'll multiply the result (8) by 4.",
      "gen_ai.usage.input_tokens": 759,
      "gen_ai.usage.output_tokens": 82,
      "gen_ai.usage.total_tokens": 841,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "996c36d57e87ced3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8c0b3495d10e4d0c",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": "bebcb9665d886d56",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552590.2591,
    "timestamp": 1787552590.262709,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139683107432128",
      "thread.name": "ThreadPoolExecutor-3_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.tool.input": "{\"a\": 8, \"b\": 4}",
      "gen_ai.tool.output": "{\"content\": \"32\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"multiply\", \"id\": \"None\", \"tool_call_id\": \"toolu_01VFpvSPqPFScCFtezFvv4gE\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "996c36d57e87ced3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9485a545df8b8461",
    "trace_id": "db395efa9029471f88a1120502a626d6",
    "parent_span_id": "bebcb9665d886d56",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552590.264413,
    "timestamp": 1787552591.04501,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139683240201088",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"I'll help you calculate (3 + 5) * 4. Let me start by adding 3 and 5.\", \"type\": \"text\"}, {\"id\": \"toolu_01VuH2xFTifGbYoRuG7Q5euq\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"a\": 3, \"b\": 5}, \"name\": \"add\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"8\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"Now I'll multiply the result (8) by 4.\", \"type\": \"text\"}, {\"id\": \"toolu_01VFpvSPqPFScCFtezFvv4gE\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"a\": 8, \"b\": 4}, \"name\": \"multiply\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"32\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The answer is **32**.\n\nTo summarize:\n- 3 + 5 = 8\n- 8 * 4 = 32",
      "gen_ai.usage.input_tokens": 854,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 892,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "996c36d57e87ced3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Call Agent Test (async, openai)❗︎ 2 122934ms
checkAgentSpanAttributes
checkChatSpanAttributes
8d27912cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d27912cgen_ai.output.messagesMissing output messages attribute
8f9010cagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8f9010cagen_ai.output.messagesMissing output messages attribute
ab7bfbb1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab7bfbb1gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
8d27912cgen_ai.agent.nameChild span (gen_ai.chat, id: 8d27912c) should have gen_ai.agent.name attribute
9afc1528gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 9afc1528) should have gen_ai.agent.name attribute
8f9010cagen_ai.agent.nameChild span (gen_ai.chat, id: 8f9010ca) should have gen_ai.agent.name attribute
9b68b850gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 9b68b850) should have gen_ai.agent.name attribute
ab7bfbb1gen_ai.agent.nameChild span (gen_ai.chat, id: ab7bfbb1) should have gen_ai.agent.name attribute
checkValidTokenUsage
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
9afc1528gen_ai.tool.outputTool "add" output should equal 8 but is {"content":"8","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"add","id":"None","tool_call_id":"call_MTxD7tpjrNRRDzusz0Mn2F7L","artifact":"None","status":"success"}
9b68b850gen_ai.tool.outputTool "multiply" output should equal 32 but is {"content":"32","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"multiply","id":"None","tool_call_id":"call_2eqFJwLnc4gFiSG3VNsMj3rV","artifact":"None","status":"success"}
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (14)
[
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "acfb74a76e4b4bdd",
    "parent_span_id": "8d27912cc879208c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.471604Z",
    "timestamp": "2026-08-24T06:23:08.474329Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11314
    },
    "data": {
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "8ab159df4bc7be3d",
    "parent_span_id": "8d27912cc879208c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.474408Z",
    "timestamp": "2026-08-24T06:23:08.474520Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11314
    },
    "data": {
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "8beb413c1d64dec3",
    "parent_span_id": "8ab159df4bc7be3d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.474486Z",
    "timestamp": "2026-08-24T06:23:08.474515Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11314
    },
    "data": {
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "8e3151285ee6941c",
    "parent_span_id": "8d27912cc879208c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.474549Z",
    "timestamp": "2026-08-24T06:23:08.474562Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11314
    },
    "data": {
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "b2eecbcd6a6cade4",
    "parent_span_id": "8d27912cc879208c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:08.477422Z",
    "timestamp": "2026-08-24T06:23:09.562343Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356111874944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 60,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "8e9b202b658932fc",
    "parent_span_id": "8f9010ca8aed766a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:09.582367Z",
    "timestamp": "2026-08-24T06:23:10.414146Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356111874944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 60,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "span_id": "9cd48af44340eafd",
    "parent_span_id": "ab7bfbb128808537",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:10.429785Z",
    "timestamp": "2026-08-24T06:23:11.116304Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356111874944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 60,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b7d1956b238e96e5",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Call Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.456543Z",
    "timestamp": "2026-08-24T06:23:11.132075Z",
    "data": {
      "thread.id": "140356111874944",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81ab47108670473c",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": "b7d1956b238e96e5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552588.457408,
    "timestamp": 1787552591.124032,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140356111874944",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 399,
      "gen_ai.usage.output_tokens": 55,
      "gen_ai.usage.total_tokens": 454,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The result of \\((3 + 5) * 4\\) is \\(32\\).",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"call_MTxD7tpjrNRRDzusz0Mn2F7L\", \"type\": \"tool_call\"}, {\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"call_2eqFJwLnc4gFiSG3VNsMj3rV\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "b7d1956b238e96e5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8d27912cc879208c",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": "81ab47108670473c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552588.466986,
    "timestamp": 1787552589.573942,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"call_MTxD7tpjrNRRDzusz0Mn2F7L\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 104,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 121,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "b7d1956b238e96e5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9afc1528e934492c",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": "81ab47108670473c",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552589.576379,
    "timestamp": 1787552589.576982,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.tool.input": "{\"a\": 3, \"b\": 5}",
      "gen_ai.tool.output": "{\"content\": \"8\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"add\", \"id\": \"None\", \"tool_call_id\": \"call_MTxD7tpjrNRRDzusz0Mn2F7L\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "b7d1956b238e96e5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8f9010ca8aed766a",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": "81ab47108670473c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552589.579135,
    "timestamp": 1787552590.416561,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"8\"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"call_2eqFJwLnc4gFiSG3VNsMj3rV\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 133,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 150,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "b7d1956b238e96e5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9b68b850cc946ca6",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": "81ab47108670473c",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552590.421971,
    "timestamp": 1787552590.422492,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140355873789632",
      "thread.name": "asyncio_1",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.tool.input": "{\"a\": 8, \"b\": 4}",
      "gen_ai.tool.output": "{\"content\": \"32\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"multiply\", \"id\": \"None\", \"tool_call_id\": \"call_2eqFJwLnc4gFiSG3VNsMj3rV\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "b7d1956b238e96e5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ab7bfbb128808537",
    "trace_id": "9418ec5936e64d3294efc420e557f949",
    "parent_span_id": "81ab47108670473c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552590.424504,
    "timestamp": 1787552591.122413,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140355907352256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"8\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"32\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The result of \\((3 + 5) * 4\\) is \\(32\\).",
      "gen_ai.usage.input_tokens": 162,
      "gen_ai.usage.output_tokens": 21,
      "gen_ai.usage.total_tokens": 183,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "b7d1956b238e96e5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Call Agent Test (async, anthropic)❗︎ 2 2⚠︎ 122011ms
checkAgentSpanAttributes
checkChatSpanAttributes
a097a7a5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a097a7a5gen_ai.output.messagesMissing output messages attribute
b29d52d3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b29d52d3gen_ai.output.messagesMissing output messages attribute
b05e3acegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b05e3acegen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
a097a7a5gen_ai.agent.nameChild span (gen_ai.chat, id: a097a7a5) should have gen_ai.agent.name attribute
ac846287gen_ai.agent.nameChild span (gen_ai.execute_tool, id: ac846287) should have gen_ai.agent.name attribute
b29d52d3gen_ai.agent.nameChild span (gen_ai.chat, id: b29d52d3) should have gen_ai.agent.name attribute
b46b9e3cgen_ai.agent.nameChild span (gen_ai.execute_tool, id: b46b9e3c) should have gen_ai.agent.name attribute
b05e3acegen_ai.agent.nameChild span (gen_ai.chat, id: b05e3ace) should have gen_ai.agent.name attribute
checkValidTokenUsage
bc5ba92cgen_ai.usage.input_tokensinput_tokens must exist
bc5ba92cgen_ai.usage.output_tokensoutput_tokens must exist
bc5ba92cgen_ai.usage.total_tokenstotal_tokens must exist
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
ac846287gen_ai.tool.outputTool "add" output should equal 8 but is {"content":"8","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"add","id":"None","tool_call_id":"toolu_01RjdDB2adYzE4H6GbMTwEig","artifact":"None","status":"success"}
b46b9e3cgen_ai.tool.outputTool "multiply" output should equal 32 but is {"content":"32","additional_kwargs":{},"response_metadata":{},"type":"tool","name":"multiply","id":"None","tool_call_id":"toolu_01MnCvvDBCBkTQtuA9kvDVYr","artifact":"None","status":"success"}
checkInputMessagesSchema
checkResponseModel
a097a7a5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b29d52d3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b05e3acegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (14)
[
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "84340e9dbf57963d",
    "parent_span_id": "a097a7a54ea69b8f",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.376863Z",
    "timestamp": "2026-08-24T06:23:08.380749Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11305
    },
    "data": {
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "93ea91aeb9646d14",
    "parent_span_id": "a097a7a54ea69b8f",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.380824Z",
    "timestamp": "2026-08-24T06:23:08.380945Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11305
    },
    "data": {
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "afc3d4a2247e7296",
    "parent_span_id": "93ea91aeb9646d14",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.380912Z",
    "timestamp": "2026-08-24T06:23:08.380941Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11305
    },
    "data": {
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "87e8bd4e43101a59",
    "parent_span_id": "a097a7a54ea69b8f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.380975Z",
    "timestamp": "2026-08-24T06:23:08.380987Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11305
    },
    "data": {
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "97319f1b9159c2bf",
    "parent_span_id": "a097a7a54ea69b8f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:08.382444Z",
    "timestamp": "2026-08-24T06:23:09.602370Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139939279641472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 61,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "a3969a8ee88fec65",
    "parent_span_id": "b29d52d37c8edc9b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:09.640888Z",
    "timestamp": "2026-08-24T06:23:10.742299Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139939279641472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 61,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "span_id": "92f77da89b45b2f9",
    "parent_span_id": "b05e3acee55f7c29",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:10.767358Z",
    "timestamp": "2026-08-24T06:23:11.643099Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139939279641472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 61,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "9a21568834811c9b",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Call Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.290459Z",
    "timestamp": "2026-08-24T06:23:11.659957Z",
    "data": {
      "thread.id": "139939279641472",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bc5ba92cce243b54",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": "9a21568834811c9b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552588.294255,
    "timestamp": 1787552591.654072,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "139939279641472",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "math_assistant",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The answer is **32**.\n\nTo break it down:\n- First: 3 + 5 = 8\n- Then: 8 * 4 = 32",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"toolu_01RjdDB2adYzE4H6GbMTwEig\", \"type\": \"tool_call\"}, {\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"toolu_01MnCvvDBCBkTQtuA9kvDVYr\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "9a21568834811c9b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a097a7a54ea69b8f",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": "bc5ba92cce243b54",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552588.30703,
    "timestamp": 1787552589.627907,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"add\", \"args\": {\"a\": 3, \"b\": 5}, \"id\": \"toolu_01RjdDB2adYzE4H6GbMTwEig\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "I'll help you calculate (3 + 5) * 4. Let me start by adding 3 and 5.",
      "gen_ai.usage.input_tokens": 649,
      "gen_ai.usage.output_tokens": 97,
      "gen_ai.usage.total_tokens": 746,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "9a21568834811c9b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ac846287d2ee1064",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": "bc5ba92cce243b54",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552589.630071,
    "timestamp": 1787552589.630647,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.tool.input": "{\"a\": 3, \"b\": 5}",
      "gen_ai.tool.output": "{\"content\": \"8\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"add\", \"id\": \"None\", \"tool_call_id\": \"toolu_01RjdDB2adYzE4H6GbMTwEig\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "9a21568834811c9b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b29d52d37c8edc9b",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": "bc5ba92cce243b54",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552589.632818,
    "timestamp": 1787552590.744017,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139939129841344",
      "thread.name": "asyncio_1",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"I'll help you calculate (3 + 5) * 4. Let me start by adding 3 and 5.\", \"type\": \"text\"}, {\"id\": \"toolu_01RjdDB2adYzE4H6GbMTwEig\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"a\": 3, \"b\": 5}, \"name\": \"add\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"8\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"multiply\", \"args\": {\"a\": 8, \"b\": 4}, \"id\": \"toolu_01MnCvvDBCBkTQtuA9kvDVYr\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "Now I'll multiply the result (8) by 4:",
      "gen_ai.usage.input_tokens": 759,
      "gen_ai.usage.output_tokens": 82,
      "gen_ai.usage.total_tokens": 841,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "9a21568834811c9b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b46b9e3ccfb11b95",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": "bc5ba92cce243b54",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552590.749195,
    "timestamp": 1787552590.749771,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139939129841344",
      "thread.name": "asyncio_1",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.tool.input": "{\"a\": 8, \"b\": 4}",
      "gen_ai.tool.output": "{\"content\": \"32\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"multiply\", \"id\": \"None\", \"tool_call_id\": \"toolu_01MnCvvDBCBkTQtuA9kvDVYr\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "9a21568834811c9b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b05e3acee55f7c29",
    "trace_id": "28dfbfb10e4f4e47921b3758c95f5b77",
    "parent_span_id": "bc5ba92cce243b54",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552590.754848,
    "timestamp": 1787552591.649444,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139939146622656",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\"}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"I'll help you calculate (3 + 5) * 4. Let me start by adding 3 and 5.\", \"type\": \"text\"}, {\"id\": \"toolu_01RjdDB2adYzE4H6GbMTwEig\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"a\": 3, \"b\": 5}, \"name\": \"add\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"8\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"Now I'll multiply the result (8) by 4:\", \"type\": \"text\"}, {\"id\": \"toolu_01MnCvvDBCBkTQtuA9kvDVYr\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"a\": 8, \"b\": 4}, \"name\": \"multiply\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"32\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The answer is **32**.\n\nTo break it down:\n- First: 3 + 5 = 8\n- Then: 8 * 4 = 32",
      "gen_ai.usage.input_tokens": 854,
      "gen_ai.usage.output_tokens": 43,
      "gen_ai.usage.total_tokens": 897,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "9a21568834811c9b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Error Agent Test (sync, openai)❗︎ 2 115188ms
checkAgentSpanAttributes
checkChatSpanAttributes
80e88bfagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80e88bfagen_ai.output.messagesMissing output messages attribute
87fc0068gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
87fc0068gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
80e88bfagen_ai.agent.nameChild span (gen_ai.chat, id: 80e88bfa) should have gen_ai.agent.name attribute
867ff437gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 867ff437) should have gen_ai.agent.name attribute
87fc0068gen_ai.agent.nameChild span (gen_ai.chat, id: 87fc0068) should have gen_ai.agent.name attribute
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
867ff437statusTool span status is "ok", expected a non-ok error status
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "span_id": "babd3995404a5e7b",
    "parent_span_id": "80e88bfa04bb967c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.463699Z",
    "timestamp": "2026-08-24T06:23:08.465501Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11312
    },
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "span_id": "bbbeee56a033c6ad",
    "parent_span_id": "80e88bfa04bb967c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.465567Z",
    "timestamp": "2026-08-24T06:23:08.465695Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11312
    },
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "span_id": "8a393253dd437977",
    "parent_span_id": "bbbeee56a033c6ad",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.465661Z",
    "timestamp": "2026-08-24T06:23:08.465689Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11312
    },
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "span_id": "bdb767d91ab5db15",
    "parent_span_id": "80e88bfa04bb967c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.465723Z",
    "timestamp": "2026-08-24T06:23:08.465734Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11312
    },
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "span_id": "b456688993f62fa0",
    "parent_span_id": "80e88bfa04bb967c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:08.466872Z",
    "timestamp": "2026-08-24T06:23:09.180001Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "span_id": "9b6278654049149a",
    "parent_span_id": "87fc0068e17552bf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:09.202183Z",
    "timestamp": "2026-08-24T06:23:09.752534Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "977a92741bf7651c",
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Error Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.451454Z",
    "timestamp": "2026-08-24T06:23:09.753943Z",
    "data": {
      "thread.id": "140299262454656",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ad0fe4f2cb85e8bf",
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "parent_span_id": "977a92741bf7651c",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552588.455127,
    "timestamp": 1787552589.753901,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140299262454656",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 164,
      "gen_ai.usage.output_tokens": 37,
      "gen_ai.usage.total_tokens": 201,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The file at the specified path does not exist, so there is no content to report.",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"call_9Dfc5Q7rqXcPedqHNo9E38vq\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "977a92741bf7651c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80e88bfa04bb967c",
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "parent_span_id": "ad0fe4f2cb85e8bf",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552588.459773,
    "timestamp": 1787552589.195003,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140299262454656",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"call_9Dfc5Q7rqXcPedqHNo9E38vq\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 67,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 85,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "977a92741bf7651c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "867ff437961508df",
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "parent_span_id": "ad0fe4f2cb85e8bf",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552589.197024,
    "timestamp": 1787552589.197668,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140299131152064",
      "thread.name": "ThreadPoolExecutor-2_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.tool.input": "{\"path\": \"/nonexistent/file.txt\"}",
      "gen_ai.tool.output": "{\"content\": \"null\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"read_file\", \"id\": \"None\", \"tool_call_id\": \"call_9Dfc5Q7rqXcPedqHNo9E38vq\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "977a92741bf7651c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "87fc0068e17552bf",
    "trace_id": "f04ebfdc680c4dc298f8be84e4694c54",
    "parent_span_id": "ad0fe4f2cb85e8bf",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552589.199295,
    "timestamp": 1787552589.753323,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140299262454656",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"null\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The file at the specified path does not exist, so there is no content to report.",
      "gen_ai.usage.input_tokens": 97,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 116,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "977a92741bf7651c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Error Agent Test (sync, anthropic)❗︎ 2 1⚠︎ 115650ms
checkAgentSpanAttributes
checkChatSpanAttributes
b1b04538gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1b04538gen_ai.output.messagesMissing output messages attribute
b81f299cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b81f299cgen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
b1b04538gen_ai.agent.nameChild span (gen_ai.chat, id: b1b04538) should have gen_ai.agent.name attribute
90038b89gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 90038b89) should have gen_ai.agent.name attribute
b81f299cgen_ai.agent.nameChild span (gen_ai.chat, id: b81f299c) should have gen_ai.agent.name attribute
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
90038b89statusTool span status is "ok", expected a non-ok error status
checkResponseModel
b1b04538gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b81f299cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "span_id": "906ea26d07a1e6a8",
    "parent_span_id": "b1b0453820ffd0ea",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.405897Z",
    "timestamp": "2026-08-24T06:23:08.410497Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11306
    },
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "span_id": "9b0b5052467b7bb2",
    "parent_span_id": "b1b0453820ffd0ea",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.410579Z",
    "timestamp": "2026-08-24T06:23:08.410729Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11306
    },
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "span_id": "919b79e2921a9179",
    "parent_span_id": "9b0b5052467b7bb2",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.410691Z",
    "timestamp": "2026-08-24T06:23:08.410723Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11306
    },
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "span_id": "91942493bbcd9066",
    "parent_span_id": "b1b0453820ffd0ea",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.410760Z",
    "timestamp": "2026-08-24T06:23:08.410772Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11306
    },
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "span_id": "833951d183af8a4f",
    "parent_span_id": "b1b0453820ffd0ea",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:08.414046Z",
    "timestamp": "2026-08-24T06:23:09.613034Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 46,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "span_id": "bb3ebaa5956bed84",
    "parent_span_id": "b81f299cc208b07b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:09.655541Z",
    "timestamp": "2026-08-24T06:23:10.907039Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 46,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8b53ca52765e6854",
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Error Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.277479Z",
    "timestamp": "2026-08-24T06:23:10.909002Z",
    "data": {
      "thread.id": "139721215933312",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "97221ff6157404c9",
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "parent_span_id": "8b53ca52765e6854",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552588.28389,
    "timestamp": 1787552590.908938,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "139721215933312",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The file at `/nonexistent/file.txt` could not be read. The tool returned null, which indicates that the file either doesn't exist, cannot be accessed, or an error occurred while trying to read it. This is expected since the path includes \"nonexistent\" and such a file doesn't actually exist on the system.",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"toolu_018TpZUghFcdS1obBTmLoERC\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "8b53ca52765e6854",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b1b0453820ffd0ea",
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "parent_span_id": "97221ff6157404c9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552588.296465,
    "timestamp": 1787552589.644421,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139721215933312",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"toolu_018TpZUghFcdS1obBTmLoERC\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "I'll attempt to read the file at that path for you.",
      "gen_ai.usage.input_tokens": 579,
      "gen_ai.usage.output_tokens": 74,
      "gen_ai.usage.total_tokens": 653,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "8b53ca52765e6854",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90038b8903511e27",
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "parent_span_id": "97221ff6157404c9",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552589.646316,
    "timestamp": 1787552589.64698,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139721083709120",
      "thread.name": "ThreadPoolExecutor-2_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.tool.input": "{\"path\": \"/nonexistent/file.txt\"}",
      "gen_ai.tool.output": "{\"content\": \"null\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"read_file\", \"id\": \"None\", \"tool_call_id\": \"toolu_018TpZUghFcdS1obBTmLoERC\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "8b53ca52765e6854",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b81f299cc208b07b",
    "trace_id": "8c6216feafb64f04a92fff73844fbf5f",
    "parent_span_id": "97221ff6157404c9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552589.648551,
    "timestamp": 1787552590.908119,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139721215933312",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"I'll attempt to read the file at that path for you.\", \"type\": \"text\"}, {\"id\": \"toolu_018TpZUghFcdS1obBTmLoERC\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"path\": \"/nonexistent/file.txt\"}, \"name\": \"read_file\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"null\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The file at `/nonexistent/file.txt` could not be read. The tool returned null, which indicates that the file either doesn't exist, cannot be accessed, or an error occurred while trying to read it. This is expected since the path includes \"nonexistent\" and such a file doesn't actually exist on the system.",
      "gen_ai.usage.input_tokens": 666,
      "gen_ai.usage.output_tokens": 73,
      "gen_ai.usage.total_tokens": 739,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "8b53ca52765e6854",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Error Agent Test (async, openai)❗︎ 2 111088ms
checkAgentSpanAttributes
checkChatSpanAttributes
9591d49agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9591d49agen_ai.output.messagesMissing output messages attribute
955103a7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
955103a7gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
9591d49agen_ai.agent.nameChild span (gen_ai.chat, id: 9591d49a) should have gen_ai.agent.name attribute
9fb38c45gen_ai.agent.nameChild span (gen_ai.execute_tool, id: 9fb38c45) should have gen_ai.agent.name attribute
955103a7gen_ai.agent.nameChild span (gen_ai.chat, id: 955103a7) should have gen_ai.agent.name attribute
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
9fb38c45statusTool span status is "ok", expected a non-ok error status
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "span_id": "bb4db388b90b1725",
    "parent_span_id": "9591d49a0e4380db",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.471738Z",
    "timestamp": "2026-08-24T06:23:08.472546Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11313
    },
    "data": {
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "span_id": "aeb4b71df5a21b76",
    "parent_span_id": "9591d49a0e4380db",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.472604Z",
    "timestamp": "2026-08-24T06:23:08.473056Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11313
    },
    "data": {
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "span_id": "88449ae3786a380d",
    "parent_span_id": "aeb4b71df5a21b76",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.473279Z",
    "timestamp": "2026-08-24T06:23:08.473616Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11313
    },
    "data": {
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "span_id": "88cf8b48091fd96b",
    "parent_span_id": "9591d49a0e4380db",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.473672Z",
    "timestamp": "2026-08-24T06:23:08.473692Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11313
    },
    "data": {
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "span_id": "b4cb8a5f88fc44ea",
    "parent_span_id": "9591d49a0e4380db",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:08.476223Z",
    "timestamp": "2026-08-24T06:23:09.255401Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140572688825216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "span_id": "89925687a542cb08",
    "parent_span_id": "955103a7610ee340",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:09.309541Z",
    "timestamp": "2026-08-24T06:23:10.039263Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140572688825216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "9899975151fe7588",
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Error Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.457749Z",
    "timestamp": "2026-08-24T06:23:10.044045Z",
    "data": {
      "thread.id": "140572688825216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "974948d79c778b3a",
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "parent_span_id": "9899975151fe7588",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552588.459339,
    "timestamp": 1787552590.04299,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140572688825216",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 164,
      "gen_ai.usage.output_tokens": 40,
      "gen_ai.usage.total_tokens": 204,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "It appears that the file at the specified path does not exist, so there is no content to display.",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"call_iacUTXDL9hvxEyMJNnZEs8jj\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "9899975151fe7588",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9591d49a0e4380db",
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "parent_span_id": "974948d79c778b3a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552588.466741,
    "timestamp": 1787552589.293797,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"call_iacUTXDL9hvxEyMJNnZEs8jj\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 67,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 85,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "9899975151fe7588",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9fb38c45e98ec733",
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "parent_span_id": "974948d79c778b3a",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552589.301069,
    "timestamp": 1787552589.301771,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.tool.input": "{\"path\": \"/nonexistent/file.txt\"}",
      "gen_ai.tool.output": "{\"content\": \"null\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"read_file\", \"id\": \"None\", \"tool_call_id\": \"call_iacUTXDL9hvxEyMJNnZEs8jj\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "9899975151fe7588",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "955103a7610ee340",
    "trace_id": "524417d49384436aa73b8b55de3b9f57",
    "parent_span_id": "974948d79c778b3a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552589.306499,
    "timestamp": 1787552590.041097,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140572556125888",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"null\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "It appears that the file at the specified path does not exist, so there is no content to display.",
      "gen_ai.usage.input_tokens": 97,
      "gen_ai.usage.output_tokens": 22,
      "gen_ai.usage.total_tokens": 119,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "9899975151fe7588",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Tool Error Agent Test (async, anthropic)❗︎ 2 1⚠︎ 110804ms
checkAgentSpanAttributes
checkChatSpanAttributes
b840b4e3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b840b4e3gen_ai.output.messagesMissing output messages attribute
b3816e05gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3816e05gen_ai.output.messagesMissing output messages attribute
checkToolSpanAttributes
checkAgentHierarchy
b840b4e3gen_ai.agent.nameChild span (gen_ai.chat, id: b840b4e3) should have gen_ai.agent.name attribute
b21c7c12gen_ai.agent.nameChild span (gen_ai.execute_tool, id: b21c7c12) should have gen_ai.agent.name attribute
b3816e05gen_ai.agent.nameChild span (gen_ai.chat, id: b3816e05) should have gen_ai.agent.name attribute
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
b21c7c12statusTool span status is "ok", expected a non-ok error status
checkResponseModel
b840b4e3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b3816e05gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "span_id": "aaa57c6fe69d4015",
    "parent_span_id": "b840b4e3e3a7f9fb",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:08.231007Z",
    "timestamp": "2026-08-24T06:23:08.235720Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11299
    },
    "data": {
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "span_id": "87e33c79434a4080",
    "parent_span_id": "b840b4e3e3a7f9fb",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.235812Z",
    "timestamp": "2026-08-24T06:23:08.235978Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11299
    },
    "data": {
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "span_id": "8b5b59e3728e41f0",
    "parent_span_id": "87e33c79434a4080",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.235930Z",
    "timestamp": "2026-08-24T06:23:08.235973Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11299
    },
    "data": {
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "span_id": "916e4c5f2c6a5204",
    "parent_span_id": "b840b4e3e3a7f9fb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:08.236013Z",
    "timestamp": "2026-08-24T06:23:08.236028Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11299
    },
    "data": {
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "span_id": "b8d6d074be910f71",
    "parent_span_id": "b840b4e3e3a7f9fb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:08.237621Z",
    "timestamp": "2026-08-24T06:23:09.482324Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140583975975808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "span_id": "864a7bdcc6b26541",
    "parent_span_id": "b3816e05c68c70d0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:09.519037Z",
    "timestamp": "2026-08-24T06:23:10.769358Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140583975975808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "a56cb69b6e6832b5",
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Error Agent Test",
    "start_timestamp": "2026-08-24T06:23:08.082722Z",
    "timestamp": "2026-08-24T06:23:10.780942Z",
    "data": {
      "thread.id": "140583975975808",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9dff4f8a64b388c2",
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "parent_span_id": "a56cb69b6e6832b5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552588.088219,
    "timestamp": 1787552590.778004,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140583975975808",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "file_assistant",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The file at `/nonexistent/file.txt` could not be read. The read_file tool returned null, which indicates that the file does not exist at that path. This is expected since the path you provided contains \"nonexistent\" in it. \n\nIf you have an actual file you'd like me to read, please provide the correct path and I'll be happy to help.",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"toolu_018ZnKzyUkTsds2c53oKRB3o\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a56cb69b6e6832b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b840b4e3e3a7f9fb",
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "parent_span_id": "9dff4f8a64b388c2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552588.113889,
    "timestamp": 1787552589.507037,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"read_file\", \"args\": {\"path\": \"/nonexistent/file.txt\"}, \"id\": \"toolu_018ZnKzyUkTsds2c53oKRB3o\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 579,
      "gen_ai.usage.output_tokens": 61,
      "gen_ai.usage.total_tokens": 640,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a56cb69b6e6832b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b21c7c126e1b4ce8",
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "parent_span_id": "9dff4f8a64b388c2",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552589.50935,
    "timestamp": 1787552589.509977,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.tool.input": "{\"path\": \"/nonexistent/file.txt\"}",
      "gen_ai.tool.output": "{\"content\": \"null\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"read_file\", \"id\": \"None\", \"tool_call_id\": \"toolu_018ZnKzyUkTsds2c53oKRB3o\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a56cb69b6e6832b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b3816e05c68c70d0",
    "trace_id": "aa1c1590a83a42ef8484cebb0fe07b03",
    "parent_span_id": "9dff4f8a64b388c2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552589.512025,
    "timestamp": 1787552590.773901,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140583844701888",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}, {\"role\": \"assistant\", \"content\": [{\"id\": \"toolu_018ZnKzyUkTsds2c53oKRB3o\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"path\": \"/nonexistent/file.txt\"}, \"name\": \"read_file\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"null\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The file at `/nonexistent/file.txt` could not be read. The read_file tool returned null, which indicates that the file does not exist at that path. This is expected since the path you provided contains \"nonexistent\" in it. \n\nIf you have an actual file you'd like me to read, please provide the correct path and I'll be happy to help.",
      "gen_ai.usage.input_tokens": 653,
      "gen_ai.usage.output_tokens": 85,
      "gen_ai.usage.total_tokens": 738,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a56cb69b6e6832b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Vision Agent Test (sync, openai)❗︎ 2 18485ms
checkAgentSpanAttributes
checkChatSpanAttributes
bbddca64gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bbddca64gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
bbddca64gen_ai.agent.nameChild span (gen_ai.chat, id: bbddca64) should have gen_ai.agent.name attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bbddca64gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
bbddca64gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
b66eee6egen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b66eee6egen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "span_id": "88d5eb4874ac6d43",
    "parent_span_id": "bbddca6486148988",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:16.602935Z",
    "timestamp": "2026-08-24T06:23:16.609700Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11391
    },
    "data": {
      "thread.id": "139982458162048",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "span_id": "a4cf14e6e86d3170",
    "parent_span_id": "bbddca6486148988",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:16.609766Z",
    "timestamp": "2026-08-24T06:23:16.609883Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11391
    },
    "data": {
      "thread.id": "139982458162048",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "span_id": "9a935d9ebc0db501",
    "parent_span_id": "a4cf14e6e86d3170",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:16.609846Z",
    "timestamp": "2026-08-24T06:23:16.609877Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11391
    },
    "data": {
      "thread.id": "139982458162048",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "span_id": "a1fc9ca7f15333c0",
    "parent_span_id": "bbddca6486148988",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:16.609912Z",
    "timestamp": "2026-08-24T06:23:16.609925Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11391
    },
    "data": {
      "thread.id": "139982458162048",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "span_id": "883ee9103ce3e531",
    "parent_span_id": "bbddca6486148988",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:16.611202Z",
    "timestamp": "2026-08-24T06:23:17.364674Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139982458162048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b1002cea685fa91b",
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision Agent Test",
    "start_timestamp": "2026-08-24T06:23:16.571591Z",
    "timestamp": "2026-08-24T06:23:17.392196Z",
    "data": {
      "thread.id": "139982458162048",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b66eee6e649897cf",
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "parent_span_id": "b1002cea685fa91b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552596.57489,
    "timestamp": 1787552597.392142,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "139982458162048",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}], \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "b1002cea685fa91b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bbddca6486148988",
    "trace_id": "6bcf892635a84bb8a5f4445baa4cf570",
    "parent_span_id": "b66eee6e649897cf",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552596.584678,
    "timestamp": 1787552597.391408,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139982458162048",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.usage.cache_read.input_tokens": 2944,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "b1002cea685fa91b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Vision Agent Test (sync, anthropic)❗︎ 2 2⚠︎ 110384ms
checkAgentSpanAttributes
checkChatSpanAttributes
bb25135fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb25135fgen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
bb25135fgen_ai.agent.nameChild span (gen_ai.chat, id: bb25135f) should have gen_ai.agent.name attribute
checkValidTokenUsage
ab623db0gen_ai.usage.input_tokensinput_tokens must exist
ab623db0gen_ai.usage.output_tokensoutput_tokens must exist
ab623db0gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
bb25135fgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
bb25135fgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
ab623db0gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
ab623db0gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
bb25135fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "span_id": "a5e02cb578ec9988",
    "parent_span_id": "bb25135fc4de8945",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:18.033946Z",
    "timestamp": "2026-08-24T06:23:18.035914Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11398
    },
    "data": {
      "thread.id": "140611142454144",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "span_id": "b576bed0b5554e37",
    "parent_span_id": "bb25135fc4de8945",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:18.035982Z",
    "timestamp": "2026-08-24T06:23:18.036098Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11398
    },
    "data": {
      "thread.id": "140611142454144",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "span_id": "ab2a3ef2889b0285",
    "parent_span_id": "b576bed0b5554e37",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:18.036064Z",
    "timestamp": "2026-08-24T06:23:18.036094Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11398
    },
    "data": {
      "thread.id": "140611142454144",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "span_id": "9a76d9ab2bfaf2d3",
    "parent_span_id": "bb25135fc4de8945",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:18.036129Z",
    "timestamp": "2026-08-24T06:23:18.036143Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11398
    },
    "data": {
      "thread.id": "140611142454144",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "span_id": "85e536ee88d14e56",
    "parent_span_id": "bb25135fc4de8945",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:18.037380Z",
    "timestamp": "2026-08-24T06:23:18.774148Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140611142454144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "adc07dbf480e2a16",
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision Agent Test",
    "start_timestamp": "2026-08-24T06:23:17.969726Z",
    "timestamp": "2026-08-24T06:23:18.849041Z",
    "data": {
      "thread.id": "140611142454144",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab623db07b89f2ba",
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "parent_span_id": "adc07dbf480e2a16",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552597.97305,
    "timestamp": 1787552598.848989,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140611142454144",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}], \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "adc07dbf480e2a16",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb25135fc4de8945",
    "trace_id": "d425bdcbe32744e3a3b5f05162c6ef59",
    "parent_span_id": "ab623db07b89f2ba",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552597.979948,
    "timestamp": 1787552598.848196,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140611142454144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "adc07dbf480e2a16",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Vision Agent Test (async, openai)❗︎ 2 19896ms
checkAgentSpanAttributes
checkChatSpanAttributes
ba23fb58gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba23fb58gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
ba23fb58gen_ai.agent.nameChild span (gen_ai.chat, id: ba23fb58) should have gen_ai.agent.name attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
ba23fb58gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
ba23fb58gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
ae374212gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
ae374212gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "span_id": "bda1317c2f76e808",
    "parent_span_id": "ba23fb58fbe0f418",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:16.251497Z",
    "timestamp": "2026-08-24T06:23:16.254707Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11387
    },
    "data": {
      "thread.id": "139976675161792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "span_id": "bb85438a6995f9ff",
    "parent_span_id": "ba23fb58fbe0f418",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:16.254777Z",
    "timestamp": "2026-08-24T06:23:16.254888Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11387
    },
    "data": {
      "thread.id": "139976675161792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "span_id": "abf82afa95db4ff7",
    "parent_span_id": "bb85438a6995f9ff",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:16.254852Z",
    "timestamp": "2026-08-24T06:23:16.254884Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11387
    },
    "data": {
      "thread.id": "139976675161792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "span_id": "a7fc3f04ee4367b9",
    "parent_span_id": "ba23fb58fbe0f418",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:16.254916Z",
    "timestamp": "2026-08-24T06:23:16.254926Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11387
    },
    "data": {
      "thread.id": "139976675161792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "span_id": "b384159321e4d914",
    "parent_span_id": "ba23fb58fbe0f418",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:16.256407Z",
    "timestamp": "2026-08-24T06:23:17.034853Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139976876030848",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b2f60d688676ffb3",
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision Agent Test",
    "start_timestamp": "2026-08-24T06:23:16.224508Z",
    "timestamp": "2026-08-24T06:23:17.103991Z",
    "data": {
      "thread.id": "139976876030848",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ae374212d4cb1084",
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "parent_span_id": "b2f60d688676ffb3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552596.231255,
    "timestamp": 1787552597.097907,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "139976876030848",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}], \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "b2f60d688676ffb3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba23fb58fbe0f418",
    "trace_id": "c4318d045e794912a00fe70c123923ff",
    "parent_span_id": "ae374212d4cb1084",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552596.242293,
    "timestamp": 1787552597.093767,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139976675161792",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.usage.cache_read.input_tokens": 2944,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "b2f60d688676ffb3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Vision Agent Test (async, anthropic)❗︎ 2 2⚠︎ 112850ms
checkAgentSpanAttributes
checkChatSpanAttributes
a96ff2c4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a96ff2c4gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
a96ff2c4gen_ai.agent.nameChild span (gen_ai.chat, id: a96ff2c4) should have gen_ai.agent.name attribute
checkValidTokenUsage
8c838d41gen_ai.usage.input_tokensinput_tokens must exist
8c838d41gen_ai.usage.output_tokensoutput_tokens must exist
8c838d41gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
a96ff2c4gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
a96ff2c4gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
8c838d41gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
8c838d41gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
a96ff2c4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (8)
[
  {
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "span_id": "9493c1a0377fd4bd",
    "parent_span_id": "a96ff2c4408d88a4",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:20.445735Z",
    "timestamp": "2026-08-24T06:23:20.449718Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11417
    },
    "data": {
      "thread.id": "140353262839488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "span_id": "9ca0411e57811d42",
    "parent_span_id": "a96ff2c4408d88a4",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.449795Z",
    "timestamp": "2026-08-24T06:23:20.449916Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11417
    },
    "data": {
      "thread.id": "140353262839488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "span_id": "8fab7c347faf1ccd",
    "parent_span_id": "9ca0411e57811d42",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.449884Z",
    "timestamp": "2026-08-24T06:23:20.449913Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11417
    },
    "data": {
      "thread.id": "140353262839488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "span_id": "840c146918611d62",
    "parent_span_id": "a96ff2c4408d88a4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.449946Z",
    "timestamp": "2026-08-24T06:23:20.449958Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11417
    },
    "data": {
      "thread.id": "140353262839488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "span_id": "80d7d70f2b676f98",
    "parent_span_id": "a96ff2c4408d88a4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:20.453500Z",
    "timestamp": "2026-08-24T06:23:22.127402Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140353393458048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "89972778490b8a21",
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision Agent Test",
    "start_timestamp": "2026-08-24T06:23:20.304365Z",
    "timestamp": "2026-08-24T06:23:22.189992Z",
    "data": {
      "thread.id": "140353393458048",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8c838d412e10c143",
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "parent_span_id": "89972778490b8a21",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552600.309196,
    "timestamp": 1787552602.189163,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140353393458048",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "vision_assistant",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\", \"response_metadata\": {}}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}], \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "89972778490b8a21",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a96ff2c4408d88a4",
    "trace_id": "579d994a212740c59bcb2f6a22b23c34",
    "parent_span_id": "8c838d412e10c143",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552600.333733,
    "timestamp": 1787552602.187243,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140353262839488",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "89972778490b8a21",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Long Input Agent Test (sync, openai)❗︎ 232035ms
checkAgentSpanAttributes
checkChatSpanAttributes
891fe0bagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
891fe0bagen_ai.output.messagesMissing output messages attribute
b50a715dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b50a715dgen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
891fe0bagen_ai.agent.nameChild span (gen_ai.chat, id: 891fe0ba) should have gen_ai.agent.name attribute
bfe7b8b0gen_ai.agent.nameChild span (gen_ai.execute_tool, id: bfe7b8b0) should have gen_ai.agent.name attribute
b50a715dgen_ai.agent.nameChild span (gen_ai.chat, id: b50a715d) should have gen_ai.agent.name attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "79005eff067046acadd9fd892674f690",
    "span_id": "805ad9a596bf849c",
    "parent_span_id": "891fe0bafeede146",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:20.930974Z",
    "timestamp": "2026-08-24T06:23:20.937699Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11427
    },
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "79005eff067046acadd9fd892674f690",
    "span_id": "b4cd7dfcf8b8314c",
    "parent_span_id": "891fe0bafeede146",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.937763Z",
    "timestamp": "2026-08-24T06:23:20.937917Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11427
    },
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "79005eff067046acadd9fd892674f690",
    "span_id": "96abe36d8c1627d9",
    "parent_span_id": "b4cd7dfcf8b8314c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.937861Z",
    "timestamp": "2026-08-24T06:23:20.937906Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11427
    },
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "79005eff067046acadd9fd892674f690",
    "span_id": "a5a902ce347421ad",
    "parent_span_id": "891fe0bafeede146",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.937960Z",
    "timestamp": "2026-08-24T06:23:20.937979Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11427
    },
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "79005eff067046acadd9fd892674f690",
    "span_id": "85e9c45c03cb55c1",
    "parent_span_id": "891fe0bafeede146",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:20.939674Z",
    "timestamp": "2026-08-24T06:23:40.134402Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "79005eff067046acadd9fd892674f690",
    "span_id": "b8c2d703f16411bb",
    "parent_span_id": "b50a715dac8ccbb3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:40.201302Z",
    "timestamp": "2026-08-24T06:23:41.002037Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bb1dfa3f60c816b9",
    "trace_id": "79005eff067046acadd9fd892674f690",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input Agent Test",
    "start_timestamp": "2026-08-24T06:23:20.906914Z",
    "timestamp": "2026-08-24T06:23:41.004227Z",
    "data": {
      "thread.id": "140259451980672",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a32b4e05ca384d3e",
    "trace_id": "79005eff067046acadd9fd892674f690",
    "parent_span_id": "bb1dfa3f60c816b9",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552600.910008,
    "timestamp": 1787552621.004163,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140259451980672",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 12390,
      "gen_ai.usage.output_tokens": 1457,
      "gen_ai.usage.total_tokens": 13847,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The repeated message serves as a test input that has been lengthened for the purpose of this exercise.",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"call_nvC2McJ4ni3VuYmxo5EUYGre\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "bb1dfa3f60c816b9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "891fe0bafeede146",
    "trace_id": "79005eff067046acadd9fd892674f690",
    "parent_span_id": "a32b4e05ca384d3e",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552600.917032,
    "timestamp": 1787552620.182825,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259451980672",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"call_nvC2McJ4ni3VuYmxo5EUYGre\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 5469,
      "gen_ai.usage.output_tokens": 1436,
      "gen_ai.usage.total_tokens": 6905,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "bb1dfa3f60c816b9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bfe7b8b03c2cc8ff",
    "trace_id": "79005eff067046acadd9fd892674f690",
    "parent_span_id": "a32b4e05ca384d3e",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552620.185773,
    "timestamp": 1787552620.186428,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259320260288",
      "thread.name": "ThreadPoolExecutor-2_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.tool.input": "{\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "{\"content\": \"2400\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"get_word_count\", \"id\": \"None\", \"tool_call_id\": \"call_nvC2McJ4ni3VuYmxo5EUYGre\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "bb1dfa3f60c816b9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b50a715dac8ccbb3",
    "trace_id": "79005eff067046acadd9fd892674f690",
    "parent_span_id": "a32b4e05ca384d3e",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552620.194204,
    "timestamp": 1787552621.003287,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259451980672",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"2400\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The repeated message serves as a test input that has been lengthened for the purpose of this exercise.",
      "gen_ai.usage.input_tokens": 6921,
      "gen_ai.usage.output_tokens": 21,
      "gen_ai.usage.total_tokens": 6942,
      "gen_ai.usage.cache_read.input_tokens": 6656,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "bb1dfa3f60c816b9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Long Input Agent Test (sync, anthropic)❗︎ 2⚠︎ 134786ms
checkAgentSpanAttributes
checkChatSpanAttributes
ab894c9dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab894c9dgen_ai.output.messagesMissing output messages attribute
826cc8b7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
826cc8b7gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
ab894c9dgen_ai.agent.nameChild span (gen_ai.chat, id: ab894c9d) should have gen_ai.agent.name attribute
b78bceedgen_ai.agent.nameChild span (gen_ai.execute_tool, id: b78bceed) should have gen_ai.agent.name attribute
826cc8b7gen_ai.agent.nameChild span (gen_ai.chat, id: 826cc8b7) should have gen_ai.agent.name attribute
checkInputMessagesSchema
checkResponseModel
ab894c9dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
826cc8b7gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "span_id": "9839f684c0e65ec6",
    "parent_span_id": "ab894c9dd4b036df",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:20.471748Z",
    "timestamp": "2026-08-24T06:23:20.479517Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11418
    },
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "span_id": "9e89a50feaa3a38b",
    "parent_span_id": "ab894c9dd4b036df",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.479625Z",
    "timestamp": "2026-08-24T06:23:20.479764Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11418
    },
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "span_id": "94cd74954aa982e9",
    "parent_span_id": "9e89a50feaa3a38b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.479728Z",
    "timestamp": "2026-08-24T06:23:20.479760Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11418
    },
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "span_id": "8b21e470d39d89bc",
    "parent_span_id": "ab894c9dd4b036df",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:20.479796Z",
    "timestamp": "2026-08-24T06:23:20.479808Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11418
    },
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "span_id": "83f7816f249825a5",
    "parent_span_id": "ab894c9dd4b036df",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:20.481270Z",
    "timestamp": "2026-08-24T06:23:41.914166Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 46,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "span_id": "873b7b12ae1ed4ad",
    "parent_span_id": "826cc8b733a96e05",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:42.048858Z",
    "timestamp": "2026-08-24T06:23:43.539057Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 46,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aef68ed049e490c1",
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input Agent Test",
    "start_timestamp": "2026-08-24T06:23:20.342033Z",
    "timestamp": "2026-08-24T06:23:43.541222Z",
    "data": {
      "thread.id": "140157288885120",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "be6276a9c3bbb2be",
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "parent_span_id": "aef68ed049e490c1",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552600.347789,
    "timestamp": 1787552623.541158,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140157288885120",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Based on the word count analysis, the text contains 2,400 words of a single repetitive message. Here is the one-sentence summary:\n\n**A test message describing the creation of lengthy input through repeated text is shown 100 times.**",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"toolu_01PiebsSFVZbukNyzM2HwfYk\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "aef68ed049e490c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ab894c9dd4b036df",
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "parent_span_id": "be6276a9c3bbb2be",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552600.357401,
    "timestamp": 1787552622.021929,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140157288885120",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"toolu_01PiebsSFVZbukNyzM2HwfYk\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 5981,
      "gen_ai.usage.output_tokens": 5454,
      "gen_ai.usage.total_tokens": 11435,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "aef68ed049e490c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b78bceed877c4dc5",
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "parent_span_id": "be6276a9c3bbb2be",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552622.023928,
    "timestamp": 1787552622.026653,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140157156058816",
      "thread.name": "ThreadPoolExecutor-2_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.tool.input": "{\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "{\"content\": \"2400\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"get_word_count\", \"id\": \"None\", \"tool_call_id\": \"toolu_01PiebsSFVZbukNyzM2HwfYk\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "aef68ed049e490c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "826cc8b733a96e05",
    "trace_id": "e72c39c7da454c01847a2353d9c883a2",
    "parent_span_id": "be6276a9c3bbb2be",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552622.033531,
    "timestamp": 1787552623.540216,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140157288885120",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}, {\"role\": \"assistant\", \"content\": [{\"id\": \"toolu_01PiebsSFVZbukNyzM2HwfYk\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"name\": \"get_word_count\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"2400\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Based on the word count analysis, the text contains 2,400 words of a single repetitive message. Here is the one-sentence summary:\n\n**A test message describing the creation of lengthy input through repeated text is shown 100 times.**",
      "gen_ai.usage.input_tokens": 11449,
      "gen_ai.usage.output_tokens": 55,
      "gen_ai.usage.total_tokens": 11504,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "aef68ed049e490c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Long Input Agent Test (async, openai)❗︎ 228608ms
checkAgentSpanAttributes
checkChatSpanAttributes
94b71131gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94b71131gen_ai.output.messagesMissing output messages attribute
baf8ebf2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
baf8ebf2gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
94b71131gen_ai.agent.nameChild span (gen_ai.chat, id: 94b71131) should have gen_ai.agent.name attribute
aac6697cgen_ai.agent.nameChild span (gen_ai.execute_tool, id: aac6697c) should have gen_ai.agent.name attribute
baf8ebf2gen_ai.agent.nameChild span (gen_ai.chat, id: baf8ebf2) should have gen_ai.agent.name attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "span_id": "a6c3ed2906cdf84e",
    "parent_span_id": "94b71131dbf5d280",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:22.262146Z",
    "timestamp": "2026-08-24T06:23:22.263727Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11469
    },
    "data": {
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "span_id": "86bcfd0f76aa9e6c",
    "parent_span_id": "94b71131dbf5d280",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.263788Z",
    "timestamp": "2026-08-24T06:23:22.263890Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11469
    },
    "data": {
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "span_id": "8119ee191e36ef81",
    "parent_span_id": "86bcfd0f76aa9e6c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.263860Z",
    "timestamp": "2026-08-24T06:23:22.263886Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11469
    },
    "data": {
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "span_id": "81a98aea16ef2476",
    "parent_span_id": "94b71131dbf5d280",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.263914Z",
    "timestamp": "2026-08-24T06:23:22.263924Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11469
    },
    "data": {
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "span_id": "81896e483d562bbd",
    "parent_span_id": "94b71131dbf5d280",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:22.265398Z",
    "timestamp": "2026-08-24T06:23:38.388384Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140687642622848",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "span_id": "aa9e4ca30e1f5ff1",
    "parent_span_id": "baf8ebf227bebcc2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:38.450310Z",
    "timestamp": "2026-08-24T06:23:39.942445Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140687642622848",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "920274cb2afbcbed",
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input Agent Test",
    "start_timestamp": "2026-08-24T06:23:22.248198Z",
    "timestamp": "2026-08-24T06:23:39.952216Z",
    "data": {
      "thread.id": "140687642622848",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a36abbe7e48094d6",
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "parent_span_id": "920274cb2afbcbed",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552602.251243,
    "timestamp": 1787552619.950589,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140687642622848",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 12192,
      "gen_ai.usage.output_tokens": 1260,
      "gen_ai.usage.total_tokens": 13452,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The text consists of a repeated statement indicating that it is a test message intended to generate a lengthy input.",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"call_sPQyC7sTqsopKU1yrTQr73NR\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "920274cb2afbcbed",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "94b71131dbf5d280",
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "parent_span_id": "a36abbe7e48094d6",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552602.257736,
    "timestamp": 1787552618.431209,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": [
        "tool_calls"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"call_sPQyC7sTqsopKU1yrTQr73NR\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "",
      "gen_ai.usage.input_tokens": 5469,
      "gen_ai.usage.output_tokens": 1238,
      "gen_ai.usage.total_tokens": 6707,
      "gen_ai.usage.cache_read.input_tokens": 5376,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "920274cb2afbcbed",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aac6697c9e262763",
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "parent_span_id": "a36abbe7e48094d6",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552618.433319,
    "timestamp": 1787552618.433901,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.tool.input": "{\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "{\"content\": \"2400\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"get_word_count\", \"id\": \"None\", \"tool_call_id\": \"call_sPQyC7sTqsopKU1yrTQr73NR\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "920274cb2afbcbed",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "baf8ebf227bebcc2",
    "trace_id": "835a8943108b44fb80f524d5cbb798ba",
    "parent_span_id": "a36abbe7e48094d6",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552618.440591,
    "timestamp": 1787552619.946408,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140687512184512",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}, {\"role\": \"assistant\", \"content\": \"\", \"refusal\": \"None\"}, {\"role\": \"tool\", \"content\": \"2400\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The text consists of a repeated statement indicating that it is a test message intended to generate a lengthy input.",
      "gen_ai.usage.input_tokens": 6723,
      "gen_ai.usage.output_tokens": 22,
      "gen_ai.usage.total_tokens": 6745,
      "gen_ai.usage.cache_read.input_tokens": 5376,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "920274cb2afbcbed",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Long Input Agent Test (async, anthropic)❗︎ 2⚠︎ 134392ms
checkAgentSpanAttributes
checkChatSpanAttributes
90bbe6d2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90bbe6d2gen_ai.output.messagesMissing output messages attribute
8a02ad88gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a02ad88gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
90bbe6d2gen_ai.agent.nameChild span (gen_ai.chat, id: 90bbe6d2) should have gen_ai.agent.name attribute
82e871cfgen_ai.agent.nameChild span (gen_ai.execute_tool, id: 82e871cf) should have gen_ai.agent.name attribute
8a02ad88gen_ai.agent.nameChild span (gen_ai.chat, id: 8a02ad88) should have gen_ai.agent.name attribute
checkInputMessagesSchema
checkResponseModel
90bbe6d2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8a02ad88gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(2 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(2 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(2 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "3c491289e83642deb8386db76b217815",
    "span_id": "b3f09ee2b89a290e",
    "parent_span_id": "90bbe6d22f7b566d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:22.187224Z",
    "timestamp": "2026-08-24T06:23:22.188172Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11461
    },
    "data": {
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3c491289e83642deb8386db76b217815",
    "span_id": "95a724f9f9075f9b",
    "parent_span_id": "90bbe6d22f7b566d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.188239Z",
    "timestamp": "2026-08-24T06:23:22.189017Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11461
    },
    "data": {
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3c491289e83642deb8386db76b217815",
    "span_id": "a5d414683bc11046",
    "parent_span_id": "95a724f9f9075f9b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.188883Z",
    "timestamp": "2026-08-24T06:23:22.189007Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11461
    },
    "data": {
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3c491289e83642deb8386db76b217815",
    "span_id": "ba5d51127aa7389a",
    "parent_span_id": "90bbe6d22f7b566d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.189054Z",
    "timestamp": "2026-08-24T06:23:22.189070Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11461
    },
    "data": {
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3c491289e83642deb8386db76b217815",
    "span_id": "9ee3f3aaf8a3a25a",
    "parent_span_id": "90bbe6d22f7b566d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:22.190773Z",
    "timestamp": "2026-08-24T06:23:43.503548Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140073581046656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "3c491289e83642deb8386db76b217815",
    "span_id": "97426ab6755c970c",
    "parent_span_id": "8a02ad881b91fd2c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:43.711170Z",
    "timestamp": "2026-08-24T06:23:45.252684Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140073581046656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "ac881b92f15cc81d",
    "trace_id": "3c491289e83642deb8386db76b217815",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input Agent Test",
    "start_timestamp": "2026-08-24T06:23:22.091097Z",
    "timestamp": "2026-08-24T06:23:45.272917Z",
    "data": {
      "thread.id": "140073581046656",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ba017162a03428cc",
    "trace_id": "3c491289e83642deb8386db76b217815",
    "parent_span_id": "ac881b92f15cc81d",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552602.095179,
    "timestamp": 1787552625.266686,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140073581046656",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "summarizer_assistant",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Based on the word count of 2,400 words, here's my one-sentence summary:\n\n**The text is a highly repetitive message consisting of the single phrase \"This is a test message that will be repeated many times to create a very long input\" repeated 200 times to demonstrate handling of lengthy, redundant content.**",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"toolu_01HjqPtmyuoja3HAvtkwZStz\", \"type\": \"tool_call\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "ac881b92f15cc81d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90bbe6d22f7b566d",
    "trace_id": "3c491289e83642deb8386db76b217815",
    "parent_span_id": "ba017162a03428cc",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552602.107096,
    "timestamp": 1787552623.649941,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.tool_calls": "[{\"name\": \"get_word_count\", \"args\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"id\": \"toolu_01HjqPtmyuoja3HAvtkwZStz\", \"type\": \"tool_call\"}]",
      "gen_ai.response.text": "I'll first check the word count to understand the size of this text.",
      "gen_ai.usage.input_tokens": 5981,
      "gen_ai.usage.output_tokens": 5757,
      "gen_ai.usage.total_tokens": 11738,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "ac881b92f15cc81d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82e871cfe728ba2f",
    "trace_id": "3c491289e83642deb8386db76b217815",
    "parent_span_id": "ba017162a03428cc",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552623.665367,
    "timestamp": 1787552623.666149,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.tool.input": "{\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "{\"content\": \"2400\", \"additional_kwargs\": {}, \"response_metadata\": {}, \"type\": \"tool\", \"name\": \"get_word_count\", \"id\": \"None\", \"tool_call_id\": \"toolu_01HjqPtmyuoja3HAvtkwZStz\", \"artifact\": \"None\", \"status\": \"success\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "ac881b92f15cc81d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a02ad881b91fd2c",
    "trace_id": "3c491289e83642deb8386db76b217815",
    "parent_span_id": "ba017162a03428cc",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552623.679755,
    "timestamp": 1787552625.2568,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140073379034816",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}, {\"role\": \"assistant\", \"content\": [{\"citations\": [], \"text\": \"I'll first check the word count to understand the size of this text.\", \"type\": \"text\"}, {\"id\": \"toolu_01HjqPtmyuoja3HAvtkwZStz\", \"caller\": {\"type\": \"direct\"}, \"input\": {\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}, \"name\": \"get_word_count\", \"type\": \"tool_use\"}]}, {\"role\": \"tool\", \"content\": \"2400\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Based on the word count of 2,400 words, here's my one-sentence summary:\n\n**The text is a highly repetitive message consisting of the single phrase \"This is a test message that will be repeated many times to create a very long input\" repeated 200 times to demonstrate handling of lengthy, redundant content.**",
      "gen_ai.usage.input_tokens": 11752,
      "gen_ai.usage.output_tokens": 73,
      "gen_ai.usage.total_tokens": 11825,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "ac881b92f15cc81d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Conversation ID Agent Test (sync, openai)❗︎ 212456ms
checkAgentSpanAttributes
checkChatSpanAttributes
a246b08fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a246b08fgen_ai.output.messagesMissing output messages attribute
a07a49a0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a07a49a0gen_ai.output.messagesMissing output messages attribute
aa6a3b60gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa6a3b60gen_ai.output.messagesMissing output messages attribute
8a187987gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a187987gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
a246b08fgen_ai.agent.nameChild span (gen_ai.chat, id: a246b08f) should have gen_ai.agent.name attribute
a07a49a0gen_ai.agent.nameChild span (gen_ai.chat, id: a07a49a0) should have gen_ai.agent.name attribute
aa6a3b60gen_ai.agent.nameChild span (gen_ai.chat, id: aa6a3b60) should have gen_ai.agent.name attribute
8a187987gen_ai.agent.nameChild span (gen_ai.chat, id: 8a187987) should have gen_ai.agent.name attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(8 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(8 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (17)
[
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "bd6a3ac68f8ebf59",
    "parent_span_id": "a246b08fb9e7e7b0",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:21.442789Z",
    "timestamp": "2026-08-24T06:23:21.444017Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11437
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "b9f96dfccba697e7",
    "parent_span_id": "a246b08fb9e7e7b0",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.444084Z",
    "timestamp": "2026-08-24T06:23:21.444887Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11437
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "b0d2c121b41385cb",
    "parent_span_id": "b9f96dfccba697e7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.444839Z",
    "timestamp": "2026-08-24T06:23:21.444876Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11437
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "92838fcc837e8587",
    "parent_span_id": "a246b08fb9e7e7b0",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.444919Z",
    "timestamp": "2026-08-24T06:23:21.444933Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11437
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "857a2d85fe72f5b7",
    "parent_span_id": "a246b08fb9e7e7b0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:21.446139Z",
    "timestamp": "2026-08-24T06:23:22.738077Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "9ed7fd67a414a951",
    "parent_span_id": "a07a49a0f8166bbf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:22.748319Z",
    "timestamp": "2026-08-24T06:23:23.349225Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "8720eaec55a93eec",
    "parent_span_id": "aa6a3b60791036f4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:23.352656Z",
    "timestamp": "2026-08-24T06:23:24.344163Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "span_id": "8d9d7c7b7713d83a",
    "parent_span_id": "8a187987583d1859",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:24.347421Z",
    "timestamp": "2026-08-24T06:23:24.880933Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 83,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b0662a37e2c57de5",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID Agent Test",
    "start_timestamp": "2026-08-24T06:23:21.435334Z",
    "timestamp": "2026-08-24T06:23:24.883647Z",
    "data": {
      "thread.id": "140677109914496",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "98e62f4527c80b5f",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "b0662a37e2c57de5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552601.4359,
    "timestamp": 1787552602.746018,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a246b08fb9e7e7b0",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "98e62f4527c80b5f",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552601.439176,
    "timestamp": 1787552602.745484,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "86f6c1e4190284af",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "b0662a37e2c57de5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552602.746095,
    "timestamp": 1787552603.350428,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "2 + 2 equals 4.",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a07a49a0f8166bbf",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "86f6c1e4190284af",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552602.747172,
    "timestamp": 1787552603.350023,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "2 + 2 equals 4.",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c2ae9ae142a29c9",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "b0662a37e2c57de5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552603.350503,
    "timestamp": 1787552604.34526,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 39,
      "gen_ai.usage.total_tokens": 50,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Could you please provide more context or specify what aspect of Germany you are interested in? For instance, are you asking about its history, culture, economy, politics, geography, or something else?",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aa6a3b60791036f4",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "9c2ae9ae142a29c9",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552603.351572,
    "timestamp": 1787552604.344887,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Could you please provide more context or specify what aspect of Germany you are interested in? For instance, are you asking about its history, culture, economy, politics, geography, or something else?",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 39,
      "gen_ai.usage.total_tokens": 50,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9abb5d3f95b02ebb",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "b0662a37e2c57de5",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552604.345332,
    "timestamp": 1787552604.882548,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a187987583d1859",
    "trace_id": "646033ea2b26446ca47ba6171eb736af",
    "parent_span_id": "9abb5d3f95b02ebb",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552604.34638,
    "timestamp": 1787552604.881959,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140677109914496",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b0662a37e2c57de5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Conversation ID Agent Test (sync, anthropic)❗︎ 2 1⚠︎ 113302ms
checkAgentSpanAttributes
checkChatSpanAttributes
a5ff4d8cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5ff4d8cgen_ai.output.messagesMissing output messages attribute
98444f18gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
98444f18gen_ai.output.messagesMissing output messages attribute
9a7fd1c3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9a7fd1c3gen_ai.output.messagesMissing output messages attribute
993446cegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
993446cegen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
a5ff4d8cgen_ai.agent.nameChild span (gen_ai.chat, id: a5ff4d8c) should have gen_ai.agent.name attribute
98444f18gen_ai.agent.nameChild span (gen_ai.chat, id: 98444f18) should have gen_ai.agent.name attribute
9a7fd1c3gen_ai.agent.nameChild span (gen_ai.chat, id: 9a7fd1c3) should have gen_ai.agent.name attribute
993446cegen_ai.agent.nameChild span (gen_ai.chat, id: 993446ce) should have gen_ai.agent.name attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
8c1297fdgen_ai.usage.input_tokensinput_tokens must exist
8c1297fdgen_ai.usage.output_tokensoutput_tokens must exist
8c1297fdgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a5ff4d8cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
98444f18gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9a7fd1c3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
993446cegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(8 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(8 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (17)
[
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "8f98f8903dda5aa5",
    "parent_span_id": "a5ff4d8c00a5854a",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:22.156253Z",
    "timestamp": "2026-08-24T06:23:22.158259Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11457
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "ac1804347f5d340f",
    "parent_span_id": "a5ff4d8c00a5854a",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.158345Z",
    "timestamp": "2026-08-24T06:23:22.158475Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11457
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "b61a39889ec9454d",
    "parent_span_id": "ac1804347f5d340f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.158433Z",
    "timestamp": "2026-08-24T06:23:22.158467Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11457
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "9ae8f5dce23d17fc",
    "parent_span_id": "a5ff4d8c00a5854a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:22.158510Z",
    "timestamp": "2026-08-24T06:23:22.158525Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11457
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "9dd473a6f7ae60a2",
    "parent_span_id": "a5ff4d8c00a5854a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:22.159754Z",
    "timestamp": "2026-08-24T06:23:22.963629Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "80655bf5e5ad99c7",
    "parent_span_id": "98444f18a3a0be09",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:22.987398Z",
    "timestamp": "2026-08-24T06:23:23.879058Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "aafafc8a1094f4fc",
    "parent_span_id": "9a7fd1c3e38f8a2f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:23.884954Z",
    "timestamp": "2026-08-24T06:23:25.358564Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 70,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "span_id": "9800a6023759a852",
    "parent_span_id": "993446ce9ea4cb53",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:25.361798Z",
    "timestamp": "2026-08-24T06:23:25.898141Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-sync-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "84a3a0a2faa47b66",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID Agent Test",
    "start_timestamp": "2026-08-24T06:23:22.121042Z",
    "timestamp": "2026-08-24T06:23:25.899713Z",
    "data": {
      "thread.id": "140259319634816",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8c1297fdd8c39f0e",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "84a3a0a2faa47b66",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552602.121621,
    "timestamp": 1787552602.985272,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5ff4d8c00a5854a",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "8c1297fdd8c39f0e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552602.124815,
    "timestamp": 1787552602.984765,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ab6158668750f291",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "84a3a0a2faa47b66",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552602.985351,
    "timestamp": 1787552603.880673,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = 4",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "98444f18a3a0be09",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "ab6158668750f291",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552602.986437,
    "timestamp": 1787552603.880115,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = 4",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 29,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b90764ed4e075175",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "84a3a0a2faa47b66",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552603.880772,
    "timestamp": 1787552605.359688,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "I don't have enough context to answer your question about Germany specifically. Could you provide more details about what you'd like to know? For example:\n\n- German history, politics, or culture?\n- Current events in Germany?\n- Geography or economy?\n- A comparison with another country?\n- Something from a previous conversation?\n\nFeel free to ask, and I'll do my best to help!",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a7fd1c3e38f8a2f",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "b90764ed4e075175",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552603.883654,
    "timestamp": 1787552605.359292,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "I don't have enough context to answer your question about Germany specifically. Could you provide more details about what you'd like to know? For example:\n\n- German history, politics, or culture?\n- Current events in Germany?\n- Geography or economy?\n- A comparison with another country?\n- Something from a previous conversation?\n\nFeel free to ask, and I'll do my best to help!",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 87,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9ee231b4de0b7d30",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "84a3a0a2faa47b66",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552605.359763,
    "timestamp": 1787552605.89966,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 = 6",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "993446ce9ea4cb53",
    "trace_id": "5dc9350d13b747e49cb95be731c58748",
    "parent_span_id": "9ee231b4de0b7d30",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552605.360793,
    "timestamp": 1787552605.899121,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140259319634816",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 = 6",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 29,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "84a3a0a2faa47b66",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Conversation ID Agent Test (async, openai)❗︎ 211975ms
checkAgentSpanAttributes
checkChatSpanAttributes
9b840998gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b840998gen_ai.output.messagesMissing output messages attribute
80be7a9bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80be7a9bgen_ai.output.messagesMissing output messages attribute
8877436egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8877436egen_ai.output.messagesMissing output messages attribute
b80fdfa4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b80fdfa4gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
9b840998gen_ai.agent.nameChild span (gen_ai.chat, id: 9b840998) should have gen_ai.agent.name attribute
80be7a9bgen_ai.agent.nameChild span (gen_ai.chat, id: 80be7a9b) should have gen_ai.agent.name attribute
8877436egen_ai.agent.nameChild span (gen_ai.chat, id: 8877436e) should have gen_ai.agent.name attribute
b80fdfa4gen_ai.agent.nameChild span (gen_ai.chat, id: b80fdfa4) should have gen_ai.agent.name attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(8 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(8 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (17)
[
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "aa62d1a2a454be0b",
    "parent_span_id": "9b840998a202e01c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:21.943295Z",
    "timestamp": "2026-08-24T06:23:21.945708Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11448
    },
    "data": {
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "8eec326c784f5dba",
    "parent_span_id": "9b840998a202e01c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.945781Z",
    "timestamp": "2026-08-24T06:23:21.945899Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11448
    },
    "data": {
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "95d7a9043adbca70",
    "parent_span_id": "8eec326c784f5dba",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.945863Z",
    "timestamp": "2026-08-24T06:23:21.945893Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11448
    },
    "data": {
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "bd29915ba03f6271",
    "parent_span_id": "9b840998a202e01c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.945923Z",
    "timestamp": "2026-08-24T06:23:21.945933Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11448
    },
    "data": {
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "85dc6edf00c9c3dd",
    "parent_span_id": "9b840998a202e01c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:21.947383Z",
    "timestamp": "2026-08-24T06:23:22.389257Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 94,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "94a96951a1560bc1",
    "parent_span_id": "80be7a9b46c78434",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:22.406861Z",
    "timestamp": "2026-08-24T06:23:23.155695Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 94,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "9a30ddf8de19f4f5",
    "parent_span_id": "8877436e8e2c973a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:23.162866Z",
    "timestamp": "2026-08-24T06:23:24.275013Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 94,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "span_id": "aaae738c40e82888",
    "parent_span_id": "b80fdfa442062869",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:24.283996Z",
    "timestamp": "2026-08-24T06:23:24.810818Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 94,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "87d9beee43d98b1a",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID Agent Test",
    "start_timestamp": "2026-08-24T06:23:21.930758Z",
    "timestamp": "2026-08-24T06:23:24.814715Z",
    "data": {
      "thread.id": "140469076896640",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ba8e0040a652d6d0",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "87d9beee43d98b1a",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552601.932296,
    "timestamp": 1787552602.402113,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9b840998a202e01c",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "ba8e0040a652d6d0",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552601.938565,
    "timestamp": 1787552602.400388,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 21,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aec95571301034b9",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "87d9beee43d98b1a",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552602.402217,
    "timestamp": 1787552603.158511,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "2 + 2 equals 4.",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80be7a9b46c78434",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "aec95571301034b9",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552602.404906,
    "timestamp": 1787552603.157145,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "2 + 2 equals 4.",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a86c9335c89d83f5",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "87d9beee43d98b1a",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552603.158625,
    "timestamp": 1787552604.279542,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 49,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Could you please clarify what specific aspect of Germany you would like to know about? For example, are you interested in its history, culture, economy, politics, geography, or something else?",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8877436e8e2c973a",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "a86c9335c89d83f5",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552603.161089,
    "timestamp": 1787552604.278089,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Could you please clarify what specific aspect of Germany you would like to know about? For example, are you interested in its history, culture, economy, politics, geography, or something else?",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 49,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4580dc7e266c753",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "87d9beee43d98b1a",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552604.27966,
    "timestamp": 1787552604.813449,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140469076896640",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\", \"response_metadata\": {}}]",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b80fdfa442062869",
    "trace_id": "dab670cfbb41455db55ffbce9ab238de",
    "parent_span_id": "b4580dc7e266c753",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552604.282104,
    "timestamp": 1787552604.812136,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140468946331328",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "87d9beee43d98b1a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langgraph :: Conversation ID Agent Test (async, anthropic)❗︎ 2 1⚠︎ 119678ms
checkAgentSpanAttributes
checkChatSpanAttributes
b054f49agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b054f49agen_ai.output.messagesMissing output messages attribute
98a36873gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
98a36873gen_ai.output.messagesMissing output messages attribute
b4fffb7fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4fffb7fgen_ai.output.messagesMissing output messages attribute
b64081e5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b64081e5gen_ai.output.messagesMissing output messages attribute
checkAgentHierarchy
b054f49agen_ai.agent.nameChild span (gen_ai.chat, id: b054f49a) should have gen_ai.agent.name attribute
98a36873gen_ai.agent.nameChild span (gen_ai.chat, id: 98a36873) should have gen_ai.agent.name attribute
b4fffb7fgen_ai.agent.nameChild span (gen_ai.chat, id: b4fffb7f) should have gen_ai.agent.name attribute
b64081e5gen_ai.agent.nameChild span (gen_ai.chat, id: b64081e5) should have gen_ai.agent.name attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
b1f0c1c3gen_ai.usage.input_tokensinput_tokens must exist
b1f0c1c3gen_ai.usage.output_tokensoutput_tokens must exist
b1f0c1c3gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
b054f49agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
98a36873gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b4fffb7fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b64081e5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(8 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(8 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (17)
[
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "bc159d2ac282f58e",
    "parent_span_id": "b054f49a7ebca912",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:21.632473Z",
    "timestamp": "2026-08-24T06:23:21.633972Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11442
    },
    "data": {
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "b6a03deb035c0085",
    "parent_span_id": "b054f49a7ebca912",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.634039Z",
    "timestamp": "2026-08-24T06:23:21.634686Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11442
    },
    "data": {
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "a0252797b54f376d",
    "parent_span_id": "b6a03deb035c0085",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.634596Z",
    "timestamp": "2026-08-24T06:23:21.634676Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11442
    },
    "data": {
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "8e003cc3cb6075ac",
    "parent_span_id": "b054f49a7ebca912",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:21.634720Z",
    "timestamp": "2026-08-24T06:23:21.634735Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11442
    },
    "data": {
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "8f6c3c2309eb53ae",
    "parent_span_id": "b054f49a7ebca912",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:21.638391Z",
    "timestamp": "2026-08-24T06:23:22.308204Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 95,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "b1e93690c1cc8a39",
    "parent_span_id": "98a36873e7264e9f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:22.345309Z",
    "timestamp": "2026-08-24T06:23:22.870641Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 95,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "acbfab4f9c01ae43",
    "parent_span_id": "b4fffb7f6f2cf098",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:22.878494Z",
    "timestamp": "2026-08-24T06:23:32.074530Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 95,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "span_id": "abc5a8f082a0f1bf",
    "parent_span_id": "b64081e5d08fe602",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:23:32.080455Z",
    "timestamp": "2026-08-24T06:23:32.668950Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 95,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b442be88654d28ea",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID Agent Test",
    "start_timestamp": "2026-08-24T06:23:21.558398Z",
    "timestamp": "2026-08-24T06:23:32.672593Z",
    "data": {
      "thread.id": "140199035562880",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b1f0c1c3537dd3dc",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "b442be88654d28ea",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552601.5603,
    "timestamp": 1787552602.340982,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b054f49a7ebca912",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "b1f0c1c3537dd3dc",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552601.5721,
    "timestamp": 1787552602.339508,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bafdfaf12844055b",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "b442be88654d28ea",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552602.341091,
    "timestamp": 1787552602.873448,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = 4",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "98a36873e7264e9f",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "bafdfaf12844055b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552602.34371,
    "timestamp": 1787552602.872086,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = 4",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 29,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b6f219bed210fae6",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "b442be88654d28ea",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552602.873561,
    "timestamp": 1787552612.076976,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "I don't have context for what you're asking about regarding Germany, since this is the start of our conversation.\n\nCould you clarify what you'd like to know about Germany? For example, are you asking about:\n- Its history, geography, or culture?\n- Current events or politics?\n- Economy or business?\n- Travel or tourism?\n- Something else?\n\nLet me know and I'll be happy to help!",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4fffb7f6f2cf098",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "b6f219bed210fae6",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552602.87655,
    "timestamp": 1787552612.075467,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140198905112256",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "I don't have context for what you're asking about regarding Germany, since this is the start of our conversation.\n\nCould you clarify what you'd like to know about Germany? For example, are you asking about:\n- Its history, geography, or culture?\n- Current events or politics?\n- Economy or business?\n- Travel or tourism?\n- Something else?\n\nLet me know and I'll be happy to help!",
      "gen_ai.usage.input_tokens": 11,
      "gen_ai.usage.output_tokens": 94,
      "gen_ai.usage.total_tokens": 105,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a2764ae2eeb094fd",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "b442be88654d28ea",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552612.077084,
    "timestamp": 1787552612.671681,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.langgraph",
      "thread.id": "140199035562880",
      "thread.name": "MainThread",
      "gen_ai.pipeline.name": "helpful_assistant",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\", \"response_metadata\": {}}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 = 6",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b64081e5d08fe602",
    "trace_id": "4796f4ccd7d942a0932aab0b5c1eb18a",
    "parent_span_id": "a2764ae2eeb094fd",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552612.079422,
    "timestamp": 1787552612.670197,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140198805501632",
      "thread.name": "asyncio_1",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 = 6",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 29,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "b442be88654d28ea",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Basic Agent Test (async, single)❗︎ 1 125427ms
checkAgentSpanAttributes
checkChatSpanAttributes
86be6b65gen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkValidTokenUsage
8dfd8298gen_ai.usage.input_tokensinput_tokens must exist
8dfd8298gen_ai.usage.output_tokensoutput_tokens must exist
8dfd8298gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "span_id": "abad6cfdc5778e71",
    "parent_span_id": "86be6b65bd9dbda7",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.452917Z",
    "timestamp": "2026-08-24T06:23:47.460038Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11613
    },
    "data": {
      "thread.id": "140095619401408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "span_id": "bc06e3fbfed07c7e",
    "parent_span_id": "86be6b65bd9dbda7",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.460114Z",
    "timestamp": "2026-08-24T06:23:47.460230Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11613
    },
    "data": {
      "thread.id": "140095619401408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "span_id": "8630efbfe5796e32",
    "parent_span_id": "bc06e3fbfed07c7e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.460197Z",
    "timestamp": "2026-08-24T06:23:47.460225Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11613
    },
    "data": {
      "thread.id": "140095619401408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "span_id": "9e8378ceabfa20ca",
    "parent_span_id": "86be6b65bd9dbda7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.460257Z",
    "timestamp": "2026-08-24T06:23:47.460268Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11613
    },
    "data": {
      "thread.id": "140095619401408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "span_id": "855a031936dceaa5",
    "parent_span_id": "86be6b65bd9dbda7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.462074Z",
    "timestamp": "2026-08-24T06:23:48.098485Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140095876483968",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 46,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "a402be5339a5a42b",
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.324777Z",
    "timestamp": "2026-08-24T06:23:48.481676Z",
    "data": {
      "thread.id": "140095876483968",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8dfd8298c1e07cec",
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "parent_span_id": "a402be5339a5a42b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552627.331233,
    "timestamp": 1787552628.480566,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140095876483968",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"You are a helpful assistant.\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What is the capital of France?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "a402be5339a5a42b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "86be6b65bd9dbda7",
    "trace_id": "7e922c3967a1426e8d02e1f234f60fd4",
    "parent_span_id": "8dfd8298c1e07cec",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552627.444672,
    "timestamp": 1787552628.479748,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140095876483968",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What is the capital of France?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The capital of France is Paris.\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "a402be5339a5a42b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Basic Agent Test (async, fallback)❗︎ 1 118585ms
checkAgentSpanAttributes
checkChatSpanAttributes
a45e6f74gen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkValidTokenUsage
81b53f58gen_ai.usage.input_tokensinput_tokens must exist
81b53f58gen_ai.usage.output_tokensoutput_tokens must exist
81b53f58gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "span_id": "aeb1caa05763b74e",
    "parent_span_id": "a45e6f746de7184a",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.408330Z",
    "timestamp": "2026-08-24T06:23:47.418474Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11603
    },
    "data": {
      "thread.id": "139785171470016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "span_id": "914c5cec4ea6ad2f",
    "parent_span_id": "a45e6f746de7184a",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.418558Z",
    "timestamp": "2026-08-24T06:23:47.418718Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11603
    },
    "data": {
      "thread.id": "139785171470016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "span_id": "9d6e5923e2228ada",
    "parent_span_id": "914c5cec4ea6ad2f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.418678Z",
    "timestamp": "2026-08-24T06:23:47.418712Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11603
    },
    "data": {
      "thread.id": "139785171470016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "span_id": "8738249aa68212e6",
    "parent_span_id": "a45e6f746de7184a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.418750Z",
    "timestamp": "2026-08-24T06:23:47.418763Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11603
    },
    "data": {
      "thread.id": "139785171470016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "span_id": "9ccacba5629ff14a",
    "parent_span_id": "a45e6f746de7184a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.420348Z",
    "timestamp": "2026-08-24T06:23:47.612794Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "139785227361152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "span_id": "ae232304110b6bfe",
    "parent_span_id": "a45e6f746de7184a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.620948Z",
    "timestamp": "2026-08-24T06:23:49.068405Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139785227361152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "8b23dff51b837f99",
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.275638Z",
    "timestamp": "2026-08-24T06:23:49.145163Z",
    "data": {
      "thread.id": "139785227361152",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81b53f58f157565c",
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "parent_span_id": "8b23dff51b837f99",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552627.282359,
    "timestamp": 1787552629.138862,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139785227361152",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"You are a helpful assistant.\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What is the capital of France?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "Paris",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "8b23dff51b837f99",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a45e6f746de7184a",
    "trace_id": "bdabe357d70c41538ca5365684a3839f",
    "parent_span_id": "81b53f58f157565c",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552627.390336,
    "timestamp": 1787552629.137851,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139785227361152",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What is the capital of France?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Paris\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Agent Test",
      "sentry.segment.id": "8b23dff51b837f99",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Tool Call Agent Test (async, single)❗︎ 1 219082ms
checkAgentSpanAttributes
checkChatSpanAttributes
a5d8e4a1gen_ai.output.messagesmessages[0].finish_reason Required
9a544c7dgen_ai.output.messagesmessages[0].finish_reason Required
b2b601c4gen_ai.output.messagesmessages[0].finish_reason Required
checkToolSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
bf19905fgen_ai.usage.input_tokensinput_tokens must exist
bf19905fgen_ai.usage.output_tokensoutput_tokens must exist
bf19905fgen_ai.usage.total_tokenstotal_tokens must exist
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
checkInputMessagesSchema
9a544c7dgen_ai.request.messagesmessages[1] should have either "parts" or "content" field
b2b601c4gen_ai.request.messagesmessages[1] should have either "parts" or "content" field
b2b601c4gen_ai.request.messagesmessages[3] should have either "parts" or "content" field
checkResponseModel
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(4 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
{}Captured Spans (14)
[
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "8848e7d4102383c4",
    "parent_span_id": "a5d8e4a1fd2ec801",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.407485Z",
    "timestamp": "2026-08-24T06:23:47.414700Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11604
    },
    "data": {
      "thread.id": "139834165294784",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "be5810fe88362798",
    "parent_span_id": "a5d8e4a1fd2ec801",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.414776Z",
    "timestamp": "2026-08-24T06:23:47.414911Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11604
    },
    "data": {
      "thread.id": "139834165294784",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "a7116ff672de1ae5",
    "parent_span_id": "be5810fe88362798",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.414868Z",
    "timestamp": "2026-08-24T06:23:47.414903Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11604
    },
    "data": {
      "thread.id": "139834165294784",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "97400c9ab84ac1f1",
    "parent_span_id": "a5d8e4a1fd2ec801",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.414947Z",
    "timestamp": "2026-08-24T06:23:47.414962Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11604
    },
    "data": {
      "thread.id": "139834165294784",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "a4a4abe7a00c5d25",
    "parent_span_id": "a5d8e4a1fd2ec801",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.416509Z",
    "timestamp": "2026-08-24T06:23:48.142484Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "baa73c7d2eb199e2",
    "parent_span_id": "9a544c7df2b61599",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:48.574532Z",
    "timestamp": "2026-08-24T06:23:49.152420Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "span_id": "9eb2d66ea5a539c2",
    "parent_span_id": "b2b601c4fbf5e232",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:49.172663Z",
    "timestamp": "2026-08-24T06:23:49.846908Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "8a9b706de1f3159b",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Call Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.324656Z",
    "timestamp": "2026-08-24T06:23:49.869033Z",
    "data": {
      "thread.id": "139834221198208",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bf19905ff891f015",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": "8a9b706de1f3159b",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552627.326296,
    "timestamp": 1787552629.859153,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "The result of the calculation \\((3 + 5) \\times 4\\) is \\(32\\).",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "8a9b706de1f3159b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5d8e4a1fd2ec801",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": "bf19905ff891f015",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552627.401091,
    "timestamp": 1787552628.563273,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"add\", \"arguments\": \"{\\\"a\\\":3,\\\"b\\\":5}\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "8a9b706de1f3159b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a6d143bd0f886c37",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": "bf19905ff891f015",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552628.564211,
    "timestamp": 1787552628.568012,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.input": "{\"a\": 3, \"b\": 5}",
      "gen_ai.tool.output": "8",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "8a9b706de1f3159b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a544c7df2b61599",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": "bf19905ff891f015",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552628.568514,
    "timestamp": 1787552629.158006,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"add\", \"arguments\": \"{\\\"a\\\":3,\\\"b\\\":5}\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"8\"}], \"tool_call_id\": \"add\"}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"multiply\", \"arguments\": \"{\\\"a\\\":8,\\\"b\\\":4}\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "8a9b706de1f3159b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8c295c1d23c51a59",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": "bf19905ff891f015",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552629.15984,
    "timestamp": 1787552629.16029,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.input": "{\"a\": 8, \"b\": 4}",
      "gen_ai.tool.output": "32",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "8a9b706de1f3159b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b2b601c4fbf5e232",
    "trace_id": "ef547124c7ad42faac6bbe8847a58eb6",
    "parent_span_id": "bf19905ff891f015",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552629.160797,
    "timestamp": 1787552629.848091,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139834221198208",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"add\", \"arguments\": \"{\\\"a\\\":3,\\\"b\\\":5}\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"8\"}], \"tool_call_id\": \"add\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"multiply\", \"arguments\": \"{\\\"a\\\":8,\\\"b\\\":4}\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"32\"}], \"tool_call_id\": \"multiply\"}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The result of the calculation \\\\((3 + 5) \\\\times 4\\\\) is \\\\(32\\\\).\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "8a9b706de1f3159b",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Tool Call Agent Test (async, fallback)❗︎ 1 220837ms
checkAgentSpanAttributes
checkChatSpanAttributes
9bcf2295gen_ai.output.messagesmessages[0].finish_reason Required
bd9c1233gen_ai.output.messagesmessages[0].finish_reason Required
b343f931gen_ai.output.messagesmessages[0].finish_reason Required
checkToolSpanAttributes
checkAgentHierarchy
checkValidTokenUsage
b018dfa3gen_ai.usage.input_tokensinput_tokens must exist
b018dfa3gen_ai.usage.output_tokensoutput_tokens must exist
b018dfa3gen_ai.usage.total_tokenstotal_tokens must exist
checkAvailableTools
checkResponseToolCalls(add, multiply)
checkToolCalls(add, multiply)
checkInputMessagesSchema
bd9c1233gen_ai.request.messagesmessages[1] should have either "parts" or "content" field
b343f931gen_ai.request.messagesmessages[1] should have either "parts" or "content" field
b343f931gen_ai.request.messagesmessages[3] should have either "parts" or "content" field
checkResponseModel
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.available_tools(4 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
{}Captured Spans (17)
[
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "b6687effa703d778",
    "parent_span_id": "9bcf229552406bc7",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.469943Z",
    "timestamp": "2026-08-24T06:23:47.471801Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11619
    },
    "data": {
      "thread.id": "139990469908160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "97217bd848848dd1",
    "parent_span_id": "9bcf229552406bc7",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.471878Z",
    "timestamp": "2026-08-24T06:23:47.472101Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11619
    },
    "data": {
      "thread.id": "139990469908160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "8226e2e2e9992d63",
    "parent_span_id": "97217bd848848dd1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.472060Z",
    "timestamp": "2026-08-24T06:23:47.472094Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11619
    },
    "data": {
      "thread.id": "139990469908160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "b4277333cb6c2eab",
    "parent_span_id": "9bcf229552406bc7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.472135Z",
    "timestamp": "2026-08-24T06:23:47.472148Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11619
    },
    "data": {
      "thread.id": "139990469908160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "a421805e91550869",
    "parent_span_id": "9bcf229552406bc7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.476780Z",
    "timestamp": "2026-08-24T06:23:47.669619Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "af9a49ca5aa1e303",
    "parent_span_id": "9bcf229552406bc7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.679670Z",
    "timestamp": "2026-08-24T06:23:49.770988Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "80a6969378d325f6",
    "parent_span_id": "bd9c1233e6bc5f96",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:49.919579Z",
    "timestamp": "2026-08-24T06:23:50.092807Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "89a820767c60836e",
    "parent_span_id": "bd9c1233e6bc5f96",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:50.105263Z",
    "timestamp": "2026-08-24T06:23:50.737023Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "8437dc5733299919",
    "parent_span_id": "b343f93112f83e66",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:50.759115Z",
    "timestamp": "2026-08-24T06:23:50.913229Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "span_id": "a75006f16ee38032",
    "parent_span_id": "b343f93112f83e66",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:50.934924Z",
    "timestamp": "2026-08-24T06:23:51.447807Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-call-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "937fb40d8a278801",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Call Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.341168Z",
    "timestamp": "2026-08-24T06:23:51.463012Z",
    "data": {
      "thread.id": "139990723177344",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b018dfa3a71b6c64",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": "937fb40d8a278801",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent math_assistant",
    "start_timestamp": 1787552627.344273,
    "timestamp": 1787552631.455947,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "32",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "937fb40d8a278801",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9bcf229552406bc7",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": "b018dfa3a71b6c64",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552627.451003,
    "timestamp": 1787552629.901363,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"add\", \"arguments\": \"{ \\\"a\\\": 3, \\\"b\\\": 5 }\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "937fb40d8a278801",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ac0927c8a828d2cf",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": "b018dfa3a71b6c64",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool add",
    "start_timestamp": 1787552629.902155,
    "timestamp": 1787552629.906779,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "add",
      "gen_ai.tool.description": "Add two numbers together",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.input": "{\"a\": 3, \"b\": 5}",
      "gen_ai.tool.output": "8",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "937fb40d8a278801",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd9c1233e6bc5f96",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": "b018dfa3a71b6c64",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552629.907278,
    "timestamp": 1787552630.741423,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"add\", \"arguments\": \"{ \\\"a\\\": 3, \\\"b\\\": 5 }\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"8\"}], \"tool_call_id\": \"add\"}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"multiply\", \"arguments\": \"{\\\"a\\\":8,\\\"b\\\":4}\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "937fb40d8a278801",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd4ddfeccd3f239e",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": "b018dfa3a71b6c64",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool multiply",
    "start_timestamp": 1787552630.748267,
    "timestamp": 1787552630.748717,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "multiply",
      "gen_ai.tool.description": "Multiply two numbers together",
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.tool.input": "{\"a\": 8, \"b\": 4}",
      "gen_ai.tool.output": "32",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "937fb40d8a278801",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b343f93112f83e66",
    "trace_id": "f55bde877356426ab4900ba94b2c4f87",
    "parent_span_id": "b018dfa3a71b6c64",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552630.749148,
    "timestamp": 1787552631.448985,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139990723177344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "math_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.request.available_tools": "[{\"name\": \"add\", \"description\": \"Add two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}, {\"name\": \"multiply\", \"description\": \"Multiply two numbers together\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"a\": {\"type\": \"number\"}, \"b\": {\"type\": \"number\"}}, \"required\": [\"a\", \"b\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Calculate (3 + 5) * 4. First use the add tool to add 3 and 5, then use the multiply tool to multiply the result by 4.\"}]}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"add\", \"arguments\": \"{ \\\"a\\\": 3, \\\"b\\\": 5 }\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"8\"}], \"tool_call_id\": \"add\"}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"multiply\", \"arguments\": \"{\\\"a\\\":8,\\\"b\\\":4}\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"32\"}], \"tool_call_id\": \"multiply\"}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"32\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Call Agent Test",
      "sentry.segment.id": "937fb40d8a278801",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Tool Error Agent Test (async, single)❗︎ 118213ms
checkAgentSpanAttributes
checkChatSpanAttributes
99be2999gen_ai.output.messagesmessages[0].finish_reason Required
checkToolSpanAttributes
checkAgentHierarchy
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "span_id": "871f3546c22ba5ed",
    "parent_span_id": "99be299935e1eaf3",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.393962Z",
    "timestamp": "2026-08-24T06:23:47.396758Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11597
    },
    "data": {
      "thread.id": "140510546273984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "span_id": "9cdd4e87fc277fa7",
    "parent_span_id": "99be299935e1eaf3",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.396832Z",
    "timestamp": "2026-08-24T06:23:47.396957Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11597
    },
    "data": {
      "thread.id": "140510546273984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "span_id": "9742b3f971e4b36e",
    "parent_span_id": "9cdd4e87fc277fa7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.396920Z",
    "timestamp": "2026-08-24T06:23:47.396952Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11597
    },
    "data": {
      "thread.id": "140510546273984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "span_id": "bbf8827cc9b1f41c",
    "parent_span_id": "99be299935e1eaf3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.396984Z",
    "timestamp": "2026-08-24T06:23:47.396996Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11597
    },
    "data": {
      "thread.id": "140510546273984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "span_id": "a83aadd91c4909e3",
    "parent_span_id": "99be299935e1eaf3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.398458Z",
    "timestamp": "2026-08-24T06:23:48.012938Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140510601186176",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 52,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "a47bba066232645c",
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Error Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.306676Z",
    "timestamp": "2026-08-24T06:23:48.521161Z",
    "data": {
      "thread.id": "140510601186176",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b51e5de8b0a3193c",
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "parent_span_id": "a47bba066232645c",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552627.310189,
    "timestamp": 1787552628.517971,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140510601186176",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"path\": {\"type\": \"string\"}}, \"required\": [\"path\"], \"type\": \"object\"}}]",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a47bba066232645c",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "99be299935e1eaf3",
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "parent_span_id": "b51e5de8b0a3193c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552627.383537,
    "timestamp": 1787552628.446171,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140510601186176",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"path\": {\"type\": \"string\"}}, \"required\": [\"path\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"read_file\", \"arguments\": \"{\\\"path\\\":\\\"/nonexistent/file.txt\\\"}\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a47bba066232645c",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b706c2f58e6530f3",
    "trace_id": "07007f4990ff46b39a81780dca529925",
    "parent_span_id": "b51e5de8b0a3193c",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552628.449794,
    "timestamp": 1787552628.452204,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140510601186176",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.tool.input": "{\"path\": \"/nonexistent/file.txt\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "a47bba066232645c",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "error",
    "is_segment": false
  }
]
python/pydantic-ai :: Tool Error Agent Test (async, fallback)❗︎ 118705ms
checkAgentSpanAttributes
checkChatSpanAttributes
8785be86gen_ai.output.messagesmessages[0].finish_reason Required
checkToolSpanAttributes
checkAgentHierarchy
checkAvailableTools
checkResponseToolCalls(read_file)
checkInputMessagesSchema
checkToolErrorSpan
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
{}Captured Spans (10)
[
  {
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "span_id": "aa89438f23e727e7",
    "parent_span_id": "8785be86a5cd745d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.444908Z",
    "timestamp": "2026-08-24T06:23:47.450715Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11609
    },
    "data": {
      "thread.id": "140446875195072",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "span_id": "aca9b313661393b3",
    "parent_span_id": "8785be86a5cd745d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.450786Z",
    "timestamp": "2026-08-24T06:23:47.450902Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11609
    },
    "data": {
      "thread.id": "140446875195072",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "span_id": "87620a2309980be4",
    "parent_span_id": "aca9b313661393b3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.450868Z",
    "timestamp": "2026-08-24T06:23:47.450897Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11609
    },
    "data": {
      "thread.id": "140446875195072",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "span_id": "b8f806ef235819ec",
    "parent_span_id": "8785be86a5cd745d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.450929Z",
    "timestamp": "2026-08-24T06:23:47.450940Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11609
    },
    "data": {
      "thread.id": "140446875195072",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "span_id": "ad2a646bf5d21ae1",
    "parent_span_id": "8785be86a5cd745d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.452332Z",
    "timestamp": "2026-08-24T06:23:47.713303Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140447126420352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "span_id": "b3bcb6dbb8a04d76",
    "parent_span_id": "8785be86a5cd745d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.722695Z",
    "timestamp": "2026-08-24T06:23:49.316072Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140447126420352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-tool-error-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "be30b120b3551213",
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "parent_span_id": null,
    "op": "test",
    "description": "Tool Error Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.392845Z",
    "timestamp": "2026-08-24T06:23:49.701922Z",
    "data": {
      "thread.id": "140447126420352",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8e3df661a783b41f",
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "parent_span_id": "be30b120b3551213",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent file_assistant",
    "start_timestamp": 1787552627.401288,
    "timestamp": 1787552629.692759,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140447126420352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"path\": {\"type\": \"string\"}}, \"required\": [\"path\"], \"type\": \"object\"}}]",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "be30b120b3551213",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8785be86a5cd745d",
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "parent_span_id": "8e3df661a783b41f",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552627.432553,
    "timestamp": 1787552629.510983,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140447126420352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.request.available_tools": "[{\"name\": \"read_file\", \"description\": \"Read the contents of a file\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"path\": {\"type\": \"string\"}}, \"required\": [\"path\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Please read the file at /nonexistent/file.txt and tell me what it contains. Use the read_file tool.\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"read_file\", \"arguments\": \"{\\\"path\\\":\\\"/nonexistent/file.txt\\\"}\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "be30b120b3551213",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82d260759c84baf2",
    "trace_id": "dca11b91f75640ae8d08568e2cf508e8",
    "parent_span_id": "8e3df661a783b41f",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool read_file",
    "start_timestamp": 1787552629.511799,
    "timestamp": 1787552629.523515,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140447126420352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "read_file",
      "gen_ai.tool.description": "Read the contents of a file",
      "gen_ai.agent.name": "file_assistant",
      "gen_ai.tool.input": "{\"path\": \"/nonexistent/file.txt\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Tool Error Agent Test",
      "sentry.segment.id": "be30b120b3551213",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "error",
    "is_segment": false
  }
]
python/pydantic-ai :: Vision Agent Test (async, single)❗︎ 1 116704ms
checkAgentSpanAttributes
checkChatSpanAttributes
80673d4dgen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkValidTokenUsage
b03a908egen_ai.usage.input_tokensinput_tokens must exist
b03a908egen_ai.usage.output_tokensoutput_tokens must exist
b03a908egen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "span_id": "9f3e426b93d9afe7",
    "parent_span_id": "80673d4d096e61b8",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.466366Z",
    "timestamp": "2026-08-24T06:23:47.470653Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11618
    },
    "data": {
      "thread.id": "139642687735488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "span_id": "8f89fbd32365a0a5",
    "parent_span_id": "80673d4d096e61b8",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.470726Z",
    "timestamp": "2026-08-24T06:23:47.470850Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11618
    },
    "data": {
      "thread.id": "139642687735488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "span_id": "8db62a7d3c4cdaf9",
    "parent_span_id": "8f89fbd32365a0a5",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.470813Z",
    "timestamp": "2026-08-24T06:23:47.470843Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11618
    },
    "data": {
      "thread.id": "139642687735488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "span_id": "92baf060dd8c1430",
    "parent_span_id": "80673d4d096e61b8",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.470879Z",
    "timestamp": "2026-08-24T06:23:47.470891Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11618
    },
    "data": {
      "thread.id": "139642687735488",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "span_id": "ab906135bd6f3181",
    "parent_span_id": "80673d4d096e61b8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.472480Z",
    "timestamp": "2026-08-24T06:23:48.020647Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139642938035072",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "82704c3e347c7e2a",
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.418080Z",
    "timestamp": "2026-08-24T06:23:48.256008Z",
    "data": {
      "thread.id": "139642938035072",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b03a908ecf62e721",
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "parent_span_id": "82704c3e347c7e2a",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552627.422266,
    "timestamp": 1787552628.253139,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139642938035072",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"You are a helpful assistant that can analyze images. Be concise.\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What color is this image? Reply with just the color name.\", \"type\": \"text\"}, {\"type\": \"image\", \"content\": \"[Blob substitute]\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "Red",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "82704c3e347c7e2a",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80673d4d096e61b8",
    "trace_id": "679d9c823f354992a8c3ba3a8f058a69",
    "parent_span_id": "b03a908ecf62e721",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552627.450056,
    "timestamp": 1787552628.252094,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139642938035072",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image\", \"content\": \"[Blob substitute]\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Red\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "82704c3e347c7e2a",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Vision Agent Test (async, fallback)❗︎ 1 116076ms
checkAgentSpanAttributes
checkChatSpanAttributes
97690b5agen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkValidTokenUsage
9ff258c0gen_ai.usage.input_tokensinput_tokens must exist
9ff258c0gen_ai.usage.output_tokensoutput_tokens must exist
9ff258c0gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "span_id": "9ae1c6b1eb2cdd77",
    "parent_span_id": "97690b5a68fd1244",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:47.446922Z",
    "timestamp": "2026-08-24T06:23:47.457701Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11610
    },
    "data": {
      "thread.id": "140137614788288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "span_id": "bcc0ef166b3d2241",
    "parent_span_id": "97690b5a68fd1244",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.457773Z",
    "timestamp": "2026-08-24T06:23:47.457891Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11610
    },
    "data": {
      "thread.id": "140137614788288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "span_id": "83b39ab7f789e1ee",
    "parent_span_id": "bcc0ef166b3d2241",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.457858Z",
    "timestamp": "2026-08-24T06:23:47.457885Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11610
    },
    "data": {
      "thread.id": "140137614788288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "span_id": "a9fe88c8768356c5",
    "parent_span_id": "97690b5a68fd1244",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:47.457917Z",
    "timestamp": "2026-08-24T06:23:47.457928Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11610
    },
    "data": {
      "thread.id": "140137614788288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "span_id": "bee0f0398459eec8",
    "parent_span_id": "97690b5a68fd1244",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.459305Z",
    "timestamp": "2026-08-24T06:23:47.682693Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140137864989568",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 51,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "span_id": "bfbc45de036fa2a5",
    "parent_span_id": "97690b5a68fd1244",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:47.689314Z",
    "timestamp": "2026-08-24T06:23:48.790971Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140137864989568",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 51,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "9821aa4005a94d28",
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision Agent Test",
    "start_timestamp": "2026-08-24T06:23:47.395590Z",
    "timestamp": "2026-08-24T06:23:48.864995Z",
    "data": {
      "thread.id": "140137864989568",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9ff258c02bc7d368",
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "parent_span_id": "9821aa4005a94d28",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent vision_assistant",
    "start_timestamp": 1787552627.402227,
    "timestamp": 1787552628.859532,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140137864989568",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"You are a helpful assistant that can analyze images. Be concise.\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What color is this image? Reply with just the color name.\", \"type\": \"text\"}, {\"type\": \"image\", \"content\": \"[Blob substitute]\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "red",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "9821aa4005a94d28",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "97690b5a68fd1244",
    "trace_id": "82bc9dbe94e94c1db58fa7d429eddd3c",
    "parent_span_id": "9ff258c02bc7d368",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552627.42504,
    "timestamp": 1787552628.858507,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140137864989568",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "vision_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image\", \"content\": \"[Blob substitute]\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"red\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision Agent Test",
      "sentry.segment.id": "9821aa4005a94d28",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Long Input Agent Test (async, single)❗︎ 1 129862ms
checkAgentSpanAttributes
checkChatSpanAttributes
8774710agen_ai.output.messagesmessages[0].finish_reason Required
be2a61d3gen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkInputMessagesSchema
be2a61d3gen_ai.request.messagesmessages[1] should have either "parts" or "content" field
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "span_id": "ba63ef19a89af12e",
    "parent_span_id": "8774710ae9cf4468",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:53.022167Z",
    "timestamp": "2026-08-24T06:23:53.025686Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11824
    },
    "data": {
      "thread.id": "140178128922304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "span_id": "8cd520555c589a37",
    "parent_span_id": "8774710ae9cf4468",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:53.025761Z",
    "timestamp": "2026-08-24T06:23:53.025887Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11824
    },
    "data": {
      "thread.id": "140178128922304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "span_id": "84d8db29ecee4ce7",
    "parent_span_id": "8cd520555c589a37",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:53.025849Z",
    "timestamp": "2026-08-24T06:23:53.025880Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11824
    },
    "data": {
      "thread.id": "140178128922304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "span_id": "ad0947f68c483aaf",
    "parent_span_id": "8774710ae9cf4468",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:53.025916Z",
    "timestamp": "2026-08-24T06:23:53.025929Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11824
    },
    "data": {
      "thread.id": "140178128922304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "span_id": "8f5c70171fe9adeb",
    "parent_span_id": "8774710ae9cf4468",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:53.028683Z",
    "timestamp": "2026-08-24T06:24:08.301570Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140178201586560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 52,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "span_id": "9d7b4a8f2f8e0878",
    "parent_span_id": "be2a61d39c211a62",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:24:08.362375Z",
    "timestamp": "2026-08-24T06:24:09.263208Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140178201586560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 52,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "9a97dbb524f89533",
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input Agent Test",
    "start_timestamp": "2026-08-24T06:23:52.981686Z",
    "timestamp": "2026-08-24T06:24:09.274802Z",
    "data": {
      "thread.id": "140178201586560",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ad826135255e5105",
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "parent_span_id": "9a97dbb524f89533",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552632.987383,
    "timestamp": 1787552649.265593,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140178201586560",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"text\": {\"type\": \"string\"}}, \"required\": [\"text\"], \"type\": \"object\"}}]",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "The text is a lengthy repetition of the phrase \"This is a test message that will be repeated many times to create a very long input,\" totaling 2400 words.",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "9a97dbb524f89533",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8774710ae9cf4468",
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "parent_span_id": "ad826135255e5105",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552633.007114,
    "timestamp": 1787552648.344853,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140178201586560",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"text\": {\"type\": \"string\"}}, \"required\": [\"text\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"name\": \"get_word_count\", \"arguments\": \"{\\\"text\\\":\\\"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\\\"}\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "9a97dbb524f89533",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a46fb11a7d0b3f5",
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "parent_span_id": "ad826135255e5105",
    "op": "gen_ai.execute_tool",
    "description": "execute_tool get_word_count",
    "start_timestamp": 1787552648.347389,
    "timestamp": 1787552648.351959,
    "data": {
      "sentry.op": "gen_ai.execute_tool",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140178201586560",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "execute_tool",
      "gen_ai.tool.name": "get_word_count",
      "gen_ai.tool.description": "Count the number of words in a text",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.tool.input": "{\"text\": \"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\"}",
      "gen_ai.tool.output": "2400",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "9a97dbb524f89533",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be2a61d39c211a62",
    "trace_id": "ef4016659c934b6d9ac569fa5ad72c7e",
    "parent_span_id": "ad826135255e5105",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552648.352433,
    "timestamp": 1787552649.264707,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140178201586560",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"text\": {\"type\": \"string\"}}, \"required\": [\"text\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}, {\"role\": \"assistant\", \"tool_calls\": [{\"name\": \"get_word_count\", \"arguments\": \"{\\\"text\\\":\\\"This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input.\\\"}\"}]}, {\"role\": \"tool\", \"content\": [{\"type\": \"text\", \"text\": \"2400\"}], \"tool_call_id\": \"get_word_count\"}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The text is a lengthy repetition of the phrase \\\"This is a test message that will be repeated many times to create a very long input,\\\" totaling 2400 words.\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "9a97dbb524f89533",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Long Input Agent Test (async, fallback)❗︎ 116049ms
checkAgentSpanAttributes
checkChatSpanAttributes
bb543c23gen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.request.messages(2 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "span_id": "83884db26a159ee1",
    "parent_span_id": "bb543c2305185904",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:54.852335Z",
    "timestamp": "2026-08-24T06:23:54.854768Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11911
    },
    "data": {
      "thread.id": "140055096792768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "span_id": "a95dc0254836449b",
    "parent_span_id": "bb543c2305185904",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:54.854838Z",
    "timestamp": "2026-08-24T06:23:54.854973Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11911
    },
    "data": {
      "thread.id": "140055096792768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "span_id": "9b6b4205ebbd36f5",
    "parent_span_id": "a95dc0254836449b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:54.854923Z",
    "timestamp": "2026-08-24T06:23:54.854966Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11911
    },
    "data": {
      "thread.id": "140055096792768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "span_id": "81e928181a137524",
    "parent_span_id": "bb543c2305185904",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:54.855006Z",
    "timestamp": "2026-08-24T06:23:54.855019Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11911
    },
    "data": {
      "thread.id": "140055096792768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "span_id": "a599b23b662f71d7",
    "parent_span_id": "bb543c2305185904",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:54.857331Z",
    "timestamp": "2026-08-24T06:23:55.036689Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140055346957184",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "span_id": "8ad27c3deb92625d",
    "parent_span_id": "bb543c2305185904",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:55.055330Z",
    "timestamp": "2026-08-24T06:23:56.657228Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140055346957184",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "a8b314dc1dd5004a",
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input Agent Test",
    "start_timestamp": "2026-08-24T06:23:54.824411Z",
    "timestamp": "2026-08-24T06:23:56.700472Z",
    "data": {
      "thread.id": "140055346957184",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a27605788c5cc71f",
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "parent_span_id": "a8b314dc1dd5004a",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent summarizer_assistant",
    "start_timestamp": 1787552634.825346,
    "timestamp": 1787552636.699534,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140055346957184",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"text\": {\"type\": \"string\"}}, \"required\": [\"text\"], \"type\": \"object\"}}]",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "An intentionally repetitive test message is duplicated many times to create a very long input.",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "a8b314dc1dd5004a",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb543c2305185904",
    "trace_id": "98857079a3df42a4a71ebf7e861b5735",
    "parent_span_id": "a27605788c5cc71f",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552634.83463,
    "timestamp": 1787552636.698692,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140055346957184",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "summarizer_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.request.available_tools": "[{\"name\": \"get_word_count\", \"description\": \"Count the number of words in a text\", \"parameters\": {\"additionalProperties\": false, \"properties\": {\"text\": {\"type\": \"string\"}}, \"required\": [\"text\"], \"type\": \"object\"}}]",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"Please summarize the following text in one sentence. You may use the get_word_count tool first if needed: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"An intentionally repetitive test message is duplicated many times to create a very long input.\"}]}]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input Agent Test",
      "sentry.segment.id": "a8b314dc1dd5004a",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Conversation ID Agent Test (async, single)❗︎ 2 115054ms
checkAgentSpanAttributes
95b917a4gen_ai.request.messagesagent span 0 should keep only the last input message, found 2 message(s)
90841cf3gen_ai.request.messagesagent span 1 should keep only the last input message, found 2 message(s)
9e00c15fgen_ai.request.messagesagent span 2 should keep only the last input message, found 2 message(s)
aab55982gen_ai.request.messagesagent span 3 should keep only the last input message, found 2 message(s)
checkChatSpanAttributes
a1b7b16fgen_ai.output.messagesmessages[0].finish_reason Required
949f4d4fgen_ai.output.messagesmessages[0].finish_reason Required
8972392dgen_ai.output.messagesmessages[0].finish_reason Required
9d70126cgen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
95b917a4gen_ai.usage.input_tokensinput_tokens must exist
95b917a4gen_ai.usage.output_tokensoutput_tokens must exist
95b917a4gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(8 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (17)
[
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "bab1883c44169a24",
    "parent_span_id": "a1b7b16fe24c8430",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:56.890706Z",
    "timestamp": "2026-08-24T06:23:56.901724Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11956
    },
    "data": {
      "thread.id": "139672386930368",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "950f858fb1419d67",
    "parent_span_id": "a1b7b16fe24c8430",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:56.901808Z",
    "timestamp": "2026-08-24T06:23:56.901945Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11956
    },
    "data": {
      "thread.id": "139672386930368",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "96ddbf847331380f",
    "parent_span_id": "950f858fb1419d67",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:56.901905Z",
    "timestamp": "2026-08-24T06:23:56.901938Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11956
    },
    "data": {
      "thread.id": "139672386930368",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "b3c5ce30d91129b2",
    "parent_span_id": "a1b7b16fe24c8430",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:56.901979Z",
    "timestamp": "2026-08-24T06:23:56.901992Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11956
    },
    "data": {
      "thread.id": "139672386930368",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "8b22c99a156adb51",
    "parent_span_id": "a1b7b16fe24c8430",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:56.904827Z",
    "timestamp": "2026-08-24T06:23:57.543517Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 83,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "af7cb7875445dbf3",
    "parent_span_id": "949f4d4f4879b58d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:57.592928Z",
    "timestamp": "2026-08-24T06:23:58.130591Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 83,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "b54a331e4e6563ef",
    "parent_span_id": "8972392d3c3db324",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:58.134602Z",
    "timestamp": "2026-08-24T06:23:58.964881Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 83,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "span_id": "808c9bf81e4991f6",
    "parent_span_id": "9d70126cfcbc1bcf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:58.968704Z",
    "timestamp": "2026-08-24T06:23:59.544275Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 83,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-single.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "91e20be7d95fcea3",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID Agent Test",
    "start_timestamp": "2026-08-24T06:23:56.824502Z",
    "timestamp": "2026-08-24T06:23:59.548341Z",
    "data": {
      "thread.id": "139672637578112",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "95b917a4779a4e15",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "91e20be7d95fcea3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552636.830768,
    "timestamp": 1787552637.588413,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What is the capital of France?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a1b7b16fe24c8430",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "95b917a4779a4e15",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552636.866989,
    "timestamp": 1787552637.587621,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What is the capital of France?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The capital of France is Paris.\"}]}]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90841cf393bd13dd",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "91e20be7d95fcea3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552637.58867,
    "timestamp": 1787552638.132026,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What is 2 + 2?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "2 + 2 equals 4.",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "949f4d4f4879b58d",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "90841cf393bd13dd",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552637.590676,
    "timestamp": 1787552638.131525,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What is 2 + 2?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"2 + 2 equals 4.\"}]}]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e00c15f45314c84",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "91e20be7d95fcea3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552638.132095,
    "timestamp": 1787552638.966207,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What about Germany?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "Could you please provide more context or specify what you're interested in regarding Germany? It could relate to history, culture, politics, economics, travel, or any other topic.",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8972392d3c3db324",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "9e00c15f45314c84",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552638.133338,
    "timestamp": 1787552638.965745,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What about Germany?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Could you please provide more context or specify what you're interested in regarding Germany? It could relate to history, culture, politics, economics, travel, or any other topic.\"}]}]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aab559824e36e16c",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "91e20be7d95fcea3",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552638.966279,
    "timestamp": 1787552639.54618,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What about 3 + 3?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9d70126cfcbc1bcf",
    "trace_id": "229e6fd2d2844a4899a8302fb838a240",
    "parent_span_id": "aab559824e36e16c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552638.967476,
    "timestamp": 1787552639.54547,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "139672637578112",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "openai",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What about 3 + 3?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"3 + 3 equals 6.\"}]}]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "91e20be7d95fcea3",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/pydantic-ai :: Conversation ID Agent Test (async, fallback)❗︎ 2 122959ms
checkAgentSpanAttributes
b25d0b9cgen_ai.request.messagesagent span 0 should keep only the last input message, found 2 message(s)
a0e3851cgen_ai.request.messagesagent span 1 should keep only the last input message, found 2 message(s)
9963da9agen_ai.request.messagesagent span 2 should keep only the last input message, found 2 message(s)
bd4ec543gen_ai.request.messagesagent span 3 should keep only the last input message, found 2 message(s)
checkChatSpanAttributes
851f05dcgen_ai.output.messagesmessages[0].finish_reason Required
8307b1a7gen_ai.output.messagesmessages[0].finish_reason Required
9a3abe07gen_ai.output.messagesmessages[0].finish_reason Required
9697c905gen_ai.output.messagesmessages[0].finish_reason Required
checkAgentHierarchy
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
b25d0b9cgen_ai.usage.input_tokensinput_tokens must exist
b25d0b9cgen_ai.usage.output_tokensoutput_tokens must exist
b25d0b9cgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(8 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (21)
[
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "b0d7128050b13dde",
    "parent_span_id": "851f05dcaf5ba4ae",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:23:55.748722Z",
    "timestamp": "2026-08-24T06:23:55.750361Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11916
    },
    "data": {
      "thread.id": "140226603239104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "9199d05ec8f21583",
    "parent_span_id": "851f05dcaf5ba4ae",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:55.750434Z",
    "timestamp": "2026-08-24T06:23:55.751226Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11916
    },
    "data": {
      "thread.id": "140226603239104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "963273f30ea1fed2",
    "parent_span_id": "9199d05ec8f21583",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:55.751050Z",
    "timestamp": "2026-08-24T06:23:55.751213Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11916
    },
    "data": {
      "thread.id": "140226603239104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "80aaf7b31bcec53d",
    "parent_span_id": "851f05dcaf5ba4ae",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:23:55.751266Z",
    "timestamp": "2026-08-24T06:23:55.751282Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 11916
    },
    "data": {
      "thread.id": "140226603239104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "b8348ca4ec0174dd",
    "parent_span_id": "851f05dcaf5ba4ae",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:55.753126Z",
    "timestamp": "2026-08-24T06:23:55.893470Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "bd181474827fe054",
    "parent_span_id": "851f05dcaf5ba4ae",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:55.910693Z",
    "timestamp": "2026-08-24T06:23:57.007173Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "a2ca4f77abf1c7fa",
    "parent_span_id": "8307b1a72461492d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:57.220167Z",
    "timestamp": "2026-08-24T06:23:57.369395Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "80cbd6a03f404313",
    "parent_span_id": "8307b1a72461492d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:57.381096Z",
    "timestamp": "2026-08-24T06:23:58.433254Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "bffacd21704282d2",
    "parent_span_id": "9a3abe07feb67cda",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:58.446703Z",
    "timestamp": "2026-08-24T06:23:58.519706Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "b483381663b2c25e",
    "parent_span_id": "9a3abe07feb67cda",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:23:58.520971Z",
    "timestamp": "2026-08-24T06:24:06.262878Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "88fc798d0cac08a2",
    "parent_span_id": "9697c9056998d9e0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:24:06.285392Z",
    "timestamp": "2026-08-24T06:24:06.366083Z",
    "origin": "auto.http.httpx",
    "status": "not_found",
    "tags": {
      "http.status_code": "404",
      "status": "not_found"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 404,
      "reason": "Not Found"
    }
  },
  {
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "span_id": "9fcc339fb2383b24",
    "parent_span_id": "9697c9056998d9e0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:24:06.371069Z",
    "timestamp": "2026-08-24T06:24:08.689025Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-agent-test-async-fallback.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "bf6ba89793a077d7",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID Agent Test",
    "start_timestamp": "2026-08-24T06:23:55.730551Z",
    "timestamp": "2026-08-24T06:24:08.692356Z",
    "data": {
      "thread.id": "140226846518144",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b25d0b9c03805933",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "bf6ba89793a077d7",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552635.732224,
    "timestamp": 1787552637.185826,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What is the capital of France?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "851f05dcaf5ba4ae",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "b25d0b9c03805933",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552635.744393,
    "timestamp": 1787552637.184863,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What is the capital of France?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Paris.\"}]}]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a0e3851cd06650d5",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "bf6ba89793a077d7",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552637.185951,
    "timestamp": 1787552638.441737,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What is 2 + 2?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "4",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8307b1a72461492d",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "a0e3851cd06650d5",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552637.194592,
    "timestamp": 1787552638.434516,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What is 2 + 2?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"4\"}]}]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9963da9a947ac053",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "bf6ba89793a077d7",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552638.441842,
    "timestamp": 1787552646.271063,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What about Germany?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "Could you tell me what you want to know about Germany? For example, are you looking for a quick overview, or something specific like travel tips, the economy, politics, culture, or current events?\n\nHere’s a brief starter:\n\n- Location and basics: Germany is in Central Europe, borders nine countries, and covers about 357,000 square kilometers. Population around 83–84 million.\n- Government: A federal parliamentary republic with 16 states.\n- Economy: Europe’s largest economy; strong in automotive, engineering, chemicals, and electronics; highly export-oriented.\n- Language and culture: German is official; famous for regional cultures, beer traditions, music, and engineering prowess.\n- Major regions: Bavaria (south), Baden-Württemberg, North Rhine-Westphalia (west), and Berlin (capital).\n- Travel notes: Part of the Schengen area; visa rules depend on your nationality; excellent rail network; popular cities include Berlin, Munich, Hamburg, Cologne; spring and fall are great times to visit.\n\nTell me which area you want to dive into, and I’ll tailor it.",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a3abe07feb67cda",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "9963da9a947ac053",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552638.445367,
    "timestamp": 1787552646.264151,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What about Germany?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"Could you tell me what you want to know about Germany? For example, are you looking for a quick overview, or something specific like travel tips, the economy, politics, culture, or current events?\\n\\nHere\\u2019s a brief starter:\\n\\n- Location and basics: Germany is in Central Europe, borders nine countries, and covers about 357,000 square kilometers. Population around 83\\u201384 million.\\n- Government: A federal parliamentary republic with 16 states.\\n- Economy: Europe\\u2019s largest economy; strong in automotive, engineering, chemicals, and electronics; highly export-oriented.\\n- Language and culture: German is official; famous for regional cultures, beer traditions, music, and engineering prowess.\\n- Major regions: Bavaria (south), Baden-W\\u00fcrttemberg, North Rhine-Westphalia (west), and Berlin (capital).\\n- Travel notes: Part of the Schengen area; visa rules depend on your nationality; excellent rail network; popular cities include Berlin, Munich, Hamburg, Cologne; spring and fall are great times to visit.\\n\\nTell me which area you want to dive into, and I\\u2019ll tailor it.\"}]}]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd4ec54397af286a",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "bf6ba89793a077d7",
    "op": "gen_ai.invoke_agent",
    "description": "invoke_agent helpful_assistant",
    "start_timestamp": 1787552646.271172,
    "timestamp": 1787552648.691212,
    "data": {
      "sentry.op": "gen_ai.invoke_agent",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "invoke_agent",
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.request.messages": "[{\"content\": [{\"text\": \"\", \"type\": \"text\"}], \"role\": \"system\"}, {\"content\": [{\"text\": \"What about 3 + 3?\", \"type\": \"text\"}], \"role\": \"user\"}]",
      "gen_ai.response.text": "3 + 3 = 6.\n\nIf you want it in other forms:\n- Words: six\n- Roman numerals: VI\n- Binary: 110\n\nWant more examples or a quick explanation?",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9697c9056998d9e0",
    "trace_id": "925eae95dcd64145af13b8c640dfa9f3",
    "parent_span_id": "bd4ec54397af286a",
    "op": "gen_ai.chat",
    "description": "chat fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
    "start_timestamp": 1787552646.281021,
    "timestamp": 1787552648.690132,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.pydantic_ai",
      "thread.id": "140226846518144",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.response.streaming": false,
      "gen_ai.agent.name": "helpful_assistant",
      "gen_ai.system": "fallback:openai,openai",
      "gen_ai.request.model": "fallback:gpt-4o-mini-bad-model-name,gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What about 3 + 3?\"}]}]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 0,
      "gen_ai.usage.total_tokens": 0,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.output.messages": "[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"3 + 3 = 6.\\n\\nIf you want it in other forms:\\n- Words: six\\n- Roman numerals: VI\\n- Binary: 110\\n\\nWant more examples or a quick explanation?\"}]}]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID Agent Test",
      "sentry.segment.id": "bf6ba89793a077d7",
      "sentry.sdk.name": "sentry.python.starlette",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Basic Embeddings Test (blocking)❗︎ 22639ms
checkAISpanCount(1)
Should have exactly 1 AI span(s) but found 0
checkEmbeddingSpanAttributes
Should have at least one embedding span
checkEmbeddingTokenUsage(No embedding spans captured)
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (2)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/embeddings",
      "http.method": "POST",
      "http.target": "/v1/embeddings",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/embeddings",
      "url.full": "https://api.openai.com/v1/embeddings",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/embeddings",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/embeddings",
    "op": "http.client",
    "parent_span_id": "995e0b9063145ff5",
    "span_id": "a8877e2b6570fcd6",
    "start_timestamp": 1787552640.7272136,
    "status": "ok",
    "timestamp": 1787552641.2215028,
    "trace_id": "dac0b94090bc406495dacd89c353b325",
    "origin": "auto.http.client"
  },
  {
    "span_id": "995e0b9063145ff5",
    "trace_id": "dac0b94090bc406495dacd89c353b325",
    "op": "test",
    "description": "basic-embeddings-test",
    "start_timestamp": 1787552640.7105563,
    "timestamp": 1787552641.2302432,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  }
]
python/langchain :: Basic Embeddings Test (sync, blocking)❗︎ 1 1⚠︎ 19620ms
checkAISpanCount(1)
Should have exactly 1 AI span(s) but found 2
checkEmbeddingSpanAttributes
checkEmbeddingTokenUsage
82f204f0gen_ai.usage.input_tokensinput_tokens must exist
82f204f0gen_ai.usage.total_tokenstotal_tokens must exist
checkResponseModel
82f204f0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
984176f0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
{}Captured Spans (9)
[
  {
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "span_id": "8f2625db4893e999",
    "parent_span_id": "984176f0a8af3795",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "GET https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken",
    "start_timestamp": "2026-08-24T06:24:08.636625Z",
    "timestamp": "2026-08-24T06:24:09.158899Z",
    "origin": "auto.http.stdlib.httplib",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread",
      "http.method": "GET",
      "http.fragment": "",
      "url": "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken",
      "http.query": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 24,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-embeddings-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "span_id": "b4f1ebad36ba6fd0",
    "parent_span_id": "984176f0a8af3795",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:24:09.463864Z",
    "timestamp": "2026-08-24T06:24:09.466395Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12358
    },
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "span_id": "b6eb1ceae30426dd",
    "parent_span_id": "984176f0a8af3795",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:09.466488Z",
    "timestamp": "2026-08-24T06:24:09.468169Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12358
    },
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "span_id": "856c91f0d0f3d284",
    "parent_span_id": "b6eb1ceae30426dd",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:09.468105Z",
    "timestamp": "2026-08-24T06:24:09.468157Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12358
    },
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "span_id": "a0fc89b0f127685d",
    "parent_span_id": "984176f0a8af3795",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:09.468204Z",
    "timestamp": "2026-08-24T06:24:09.468217Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12358
    },
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "span_id": "ae1f0138e521f2ff",
    "parent_span_id": "984176f0a8af3795",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/embeddings",
    "start_timestamp": "2026-08-24T06:24:09.469508Z",
    "timestamp": "2026-08-24T06:24:09.770713Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/embeddings",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 24,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-embeddings-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8af17f3de64899c8",
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Embeddings Test",
    "start_timestamp": "2026-08-24T06:24:08.418648Z",
    "timestamp": "2026-08-24T06:24:09.776310Z",
    "data": {
      "thread.id": "140279150893952",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "82f204f073d24848",
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "parent_span_id": "8af17f3de64899c8",
    "op": "gen_ai.embeddings",
    "description": "embeddings text-embedding-3-small",
    "start_timestamp": 1787552648.421821,
    "timestamp": 1787552649.776248,
    "data": {
      "sentry.op": "gen_ai.embeddings",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140279150893952",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "embeddings",
      "gen_ai.request.model": "text-embedding-3-small",
      "gen_ai.embeddings.input": "[\"What is the capital of France?\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Embeddings Test",
      "sentry.segment.id": "8af17f3de64899c8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "984176f0a8af3795",
    "trace_id": "8010a9f8586440a49eb24ea03170cbfe",
    "parent_span_id": "82f204f073d24848",
    "op": "gen_ai.embeddings",
    "description": "embeddings text-embedding-3-small",
    "start_timestamp": 1787552648.42193,
    "timestamp": 1787552649.776234,
    "data": {
      "sentry.op": "gen_ai.embeddings",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140279150893952",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "embeddings",
      "gen_ai.request.model": "text-embedding-3-small",
      "gen_ai.embeddings.input": "[\"What is the capital of France?\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Embeddings Test",
      "sentry.segment.id": "8af17f3de64899c8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic Embeddings Test (async, blocking)❗︎ 1 1⚠︎ 19447ms
checkAISpanCount(1)
Should have exactly 1 AI span(s) but found 2
checkEmbeddingSpanAttributes
checkEmbeddingTokenUsage
ab67faf0gen_ai.usage.input_tokensinput_tokens must exist
ab67faf0gen_ai.usage.total_tokenstotal_tokens must exist
checkResponseModel
ab67faf0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
82dc1771gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
{}Captured Spans (9)
[
  {
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "span_id": "98f70894c7c043d0",
    "parent_span_id": "82dc17711349760d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "GET https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken",
    "start_timestamp": "2026-08-24T06:24:08.643354Z",
    "timestamp": "2026-08-24T06:24:09.087536Z",
    "origin": "auto.http.stdlib.httplib",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139969561622208",
      "thread.name": "asyncio_0",
      "http.method": "GET",
      "http.fragment": "",
      "url": "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken",
      "http.query": "",
      "http.response.status_code": 200,
      "reason": "OK"
    }
  },
  {
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "span_id": "81f37b10121c71d1",
    "parent_span_id": "82dc17711349760d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:24:09.408312Z",
    "timestamp": "2026-08-24T06:24:09.410404Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12357
    },
    "data": {
      "thread.id": "139969561622208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "span_id": "b2ad6a784345bcb9",
    "parent_span_id": "82dc17711349760d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:09.410505Z",
    "timestamp": "2026-08-24T06:24:09.410660Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12357
    },
    "data": {
      "thread.id": "139969561622208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "span_id": "a5225f169580c2d4",
    "parent_span_id": "b2ad6a784345bcb9",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:09.410603Z",
    "timestamp": "2026-08-24T06:24:09.410656Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12357
    },
    "data": {
      "thread.id": "139969561622208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "span_id": "9593f1d4e6b8910d",
    "parent_span_id": "82dc17711349760d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:09.410691Z",
    "timestamp": "2026-08-24T06:24:09.410703Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12357
    },
    "data": {
      "thread.id": "139969561622208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "span_id": "bc5c9ff1c8c9df17",
    "parent_span_id": "82dc17711349760d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/embeddings",
    "start_timestamp": "2026-08-24T06:24:09.412307Z",
    "timestamp": "2026-08-24T06:24:09.957428Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139969762077568",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/embeddings",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-embeddings-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a52c2e8266395be3",
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Embeddings Test",
    "start_timestamp": "2026-08-24T06:24:08.414327Z",
    "timestamp": "2026-08-24T06:24:09.965956Z",
    "data": {
      "thread.id": "139969762077568",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab67faf0f476cd84",
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "parent_span_id": "a52c2e8266395be3",
    "op": "gen_ai.embeddings",
    "description": "embeddings text-embedding-3-small",
    "start_timestamp": 1787552648.415463,
    "timestamp": 1787552649.962009,
    "data": {
      "sentry.op": "gen_ai.embeddings",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139969762077568",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "embeddings",
      "gen_ai.request.model": "text-embedding-3-small",
      "gen_ai.embeddings.input": "[\"What is the capital of France?\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Embeddings Test",
      "sentry.segment.id": "a52c2e8266395be3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82dc17711349760d",
    "trace_id": "0246718c322d4d00b9055c9208de5ecf",
    "parent_span_id": "ab67faf0f476cd84",
    "op": "gen_ai.embeddings",
    "description": "embeddings text-embedding-3-small",
    "start_timestamp": 1787552648.415569,
    "timestamp": 1787552649.961992,
    "data": {
      "sentry.op": "gen_ai.embeddings",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139969762077568",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "embeddings",
      "gen_ai.request.model": "text-embedding-3-small",
      "gen_ai.embeddings.input": "[\"What is the capital of France?\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Embeddings Test",
      "sentry.segment.id": "a52c2e8266395be3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Embeddings Test (async, blocking)❗︎ 211008ms
checkAISpanCount(1)
Should have exactly 1 AI span(s) but found 0
checkEmbeddingSpanAttributes
Should have at least one embedding span
checkEmbeddingTokenUsage(No embedding spans captured)
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (7)
[
  {
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "span_id": "a2d8ac66f3919f44",
    "parent_span_id": "a44ea135ff54d48f",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:24:12.019085Z",
    "timestamp": "2026-08-24T06:24:12.019934Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12459
    },
    "data": {
      "thread.id": "140461919004352",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "span_id": "84d77db92962ced4",
    "parent_span_id": "a44ea135ff54d48f",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:12.019998Z",
    "timestamp": "2026-08-24T06:24:12.020508Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12459
    },
    "data": {
      "thread.id": "140461919004352",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "span_id": "b9e36fa7ef323bfc",
    "parent_span_id": "84d77db92962ced4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:12.020461Z",
    "timestamp": "2026-08-24T06:24:12.020497Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12459
    },
    "data": {
      "thread.id": "140461919004352",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "span_id": "ba210699bb11f762",
    "parent_span_id": "a44ea135ff54d48f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:24:12.020538Z",
    "timestamp": "2026-08-24T06:24:12.020549Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 12459
    },
    "data": {
      "thread.id": "140461919004352",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "span_id": "9b5dce31e0212517",
    "parent_span_id": "a44ea135ff54d48f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/embeddings",
    "start_timestamp": "2026-08-24T06:24:12.021976Z",
    "timestamp": "2026-08-24T06:24:12.341176Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140462087093120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/embeddings",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 28,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-embeddings-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "span_id": "898c307e79434422",
    "parent_span_id": "9b5dce31e0212517",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/embeddings",
    "start_timestamp": "2026-08-24T06:24:12.022540Z",
    "timestamp": "2026-08-24T06:24:12.339968Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140462087093120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/embeddings",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 28,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-embeddings-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "94d30c3f2d06223c",
    "trace_id": "cbcdb36aa0d64d7bb41782468d57f2cb",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Embeddings Test",
    "start_timestamp": "2026-08-24T06:24:12.005041Z",
    "timestamp": "2026-08-24T06:24:12.358375Z",
    "data": {
      "thread.id": "140462087093120",
      "thread.name": "MainThread"
    }
  }
]
browser/anthropic :: Basic LLM Test (streaming)❗︎ 1 1⚠︎ 12254ms
checkAISpanCount(1)
checkChatSpanAttributes
84a3a136gen_ai.usage.input_tokensSpan 84a3a136: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
84a3a136gen_ai.usage.output_tokensSpan 84a3a136: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
84a3a136gen_ai.usage.input_tokensinput_tokens must exist
84a3a136gen_ai.usage.output_tokensoutput_tokens must exist
84a3a136gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
84a3a136gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "986f4b2f2aaf9ed9",
    "trace_id": "34685df22a75472e9de815051348c616",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552644.9454002,
    "timestamp": 1787552646.4239001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "84a3a136fc0d28be",
    "trace_id": "34685df22a75472e9de815051348c616",
    "parent_span_id": "986f4b2f2aaf9ed9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552644.9534001,
    "timestamp": 1787552646.4228,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Basic LLM Test (blocking)❗︎ 1 1⚠︎ 12112ms
checkAISpanCount(1)
checkChatSpanAttributes
b9daabcagen_ai.usage.input_tokensSpan b9daabca: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b9daabcagen_ai.usage.output_tokensSpan b9daabca: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
b9daabcagen_ai.usage.input_tokensinput_tokens must exist
b9daabcagen_ai.usage.output_tokensoutput_tokens must exist
b9daabcagen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
b9daabcagen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "ab7284d64e951207",
    "trace_id": "acd64626f1f441c193251f874c508f9c",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552644.8835998,
    "timestamp": 1787552646.2891,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "b9daabca8fd47114",
    "trace_id": "acd64626f1f441c193251f874c508f9c",
    "parent_span_id": "ab7284d64e951207",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552644.888,
    "timestamp": 1787552646.2762,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Multi-Turn LLM Test (streaming)❗︎ 1 1⚠︎ 15106ms
checkAISpanCount(3)
checkChatSpanAttributes
abdc13a8gen_ai.usage.input_tokensSpan abdc13a8: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
abdc13a8gen_ai.usage.output_tokensSpan abdc13a8: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
badd47e3gen_ai.usage.input_tokensSpan badd47e3: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
badd47e3gen_ai.usage.output_tokensSpan badd47e3: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b4de7689gen_ai.usage.input_tokensSpan b4de7689: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b4de7689gen_ai.usage.output_tokensSpan b4de7689: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
abdc13a8gen_ai.usage.input_tokensinput_tokens must exist
abdc13a8gen_ai.usage.output_tokensoutput_tokens must exist
abdc13a8gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
abdc13a8gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
badd47e3gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b4de7689gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "span_id": "a69feacc08389796",
    "trace_id": "8bd3e5bc4c4d455e9b02182d17a9ee42",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552646.4784,
    "timestamp": 1787552650.8543,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "abdc13a868f02b9e",
    "trace_id": "8bd3e5bc4c4d455e9b02182d17a9ee42",
    "parent_span_id": "a69feacc08389796",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552646.4864,
    "timestamp": 1787552647.9325998,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "badd47e3e12ca51a",
    "trace_id": "8bd3e5bc4c4d455e9b02182d17a9ee42",
    "parent_span_id": "a69feacc08389796",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552647.9363,
    "timestamp": 1787552649.4607,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b4de76892d76cbac",
    "trace_id": "8bd3e5bc4c4d455e9b02182d17a9ee42",
    "parent_span_id": "a69feacc08389796",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552649.4613998,
    "timestamp": 1787552650.8538,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Multi-Turn LLM Test (blocking)❗︎ 1 1⚠︎ 15086ms
checkAISpanCount(3)
checkChatSpanAttributes
9aecceeagen_ai.usage.input_tokensSpan 9aecceea: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9aecceeagen_ai.usage.output_tokensSpan 9aecceea: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
8175e8d2gen_ai.usage.input_tokensSpan 8175e8d2: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8175e8d2gen_ai.usage.output_tokensSpan 8175e8d2: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b7850ff5gen_ai.usage.input_tokensSpan b7850ff5: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b7850ff5gen_ai.usage.output_tokensSpan b7850ff5: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
9aecceeagen_ai.usage.input_tokensinput_tokens must exist
9aecceeagen_ai.usage.output_tokensoutput_tokens must exist
9aecceeagen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
9aecceeagen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8175e8d2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b7850ff5gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "span_id": "96046ac1503c4091",
    "trace_id": "e71535ff423142cf87579be2c030a73c",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552646.4294002,
    "timestamp": 1787552650.8335,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "9aecceea728fd6fd",
    "trace_id": "e71535ff423142cf87579be2c030a73c",
    "parent_span_id": "96046ac1503c4091",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552646.4334002,
    "timestamp": 1787552648.0129,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8175e8d23134fbb4",
    "trace_id": "e71535ff423142cf87579be2c030a73c",
    "parent_span_id": "96046ac1503c4091",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552648.0169,
    "timestamp": 1787552649.3753,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b7850ff5c5c078a7",
    "trace_id": "e71535ff423142cf87579be2c030a73c",
    "parent_span_id": "96046ac1503c4091",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552649.3853002,
    "timestamp": 1787552650.8311,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Vision LLM Test (streaming)❗︎ 1 2⚠︎ 12206ms
checkChatSpanAttributes
8250b7f5gen_ai.usage.input_tokensSpan 8250b7f5: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8250b7f5gen_ai.usage.output_tokensSpan 8250b7f5: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
8250b7f5gen_ai.usage.input_tokensinput_tokens must exist
8250b7f5gen_ai.usage.output_tokensoutput_tokens must exist
8250b7f5gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
8250b7f5gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8250b7f5gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
8250b7f5gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "92ed2764ca02b2ed",
    "trace_id": "f432e685c8da4981bccf26d333ed9a8d",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552648.0345998,
    "timestamp": 1787552649.5802,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "8250b7f5e7b6cc4e",
    "trace_id": "f432e685c8da4981bccf26d333ed9a8d",
    "parent_span_id": "92ed2764ca02b2ed",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552648.0389,
    "timestamp": 1787552649.5791,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Vision LLM Test (blocking)❗︎ 1 2⚠︎ 11910ms
checkChatSpanAttributes
adf9a961gen_ai.usage.input_tokensSpan adf9a961: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
adf9a961gen_ai.usage.output_tokensSpan adf9a961: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
adf9a961gen_ai.usage.input_tokensinput_tokens must exist
adf9a961gen_ai.usage.output_tokensoutput_tokens must exist
adf9a961gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
adf9a961gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
adf9a961gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
adf9a961gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "9496ad627b0d3d44",
    "trace_id": "a3c0f182b8f8405997bd524a39e0e218",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552648.9483001,
    "timestamp": 1787552650.2554,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "adf9a9612ac644ca",
    "trace_id": "a3c0f182b8f8405997bd524a39e0e218",
    "parent_span_id": "9496ad627b0d3d44",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552648.9495997,
    "timestamp": 1787552650.2501,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Long Input LLM Test (streaming)❗︎ 1⚠︎ 11970ms
checkChatSpanAttributes
9c803988gen_ai.usage.input_tokensSpan 9c803988: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9c803988gen_ai.usage.output_tokensSpan 9c803988: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
9c803988gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "8572ff398b77ec2a",
    "trace_id": "c21c31c32a9249d5bb7ceb59263156d2",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552649.1982002,
    "timestamp": 1787552650.5189002,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "9c803988e31594a9",
    "trace_id": "c21c31c32a9249d5bb7ceb59263156d2",
    "parent_span_id": "8572ff398b77ec2a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552649.203,
    "timestamp": 1787552650.517,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Long Input LLM Test (blocking)❗︎ 1⚠︎ 12142ms
checkChatSpanAttributes
89cef18egen_ai.usage.input_tokensSpan 89cef18e: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
89cef18egen_ai.usage.output_tokensSpan 89cef18e: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
89cef18egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "b60d3a4a30ac6afe",
    "trace_id": "83de8b8bd9e942119951df49b1204f2f",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552649.2348,
    "timestamp": 1787552650.715,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "89cef18e0361517c",
    "trace_id": "83de8b8bd9e942119951df49b1204f2f",
    "parent_span_id": "b60d3a4a30ac6afe",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552649.2432,
    "timestamp": 1787552650.7136002,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Conversation ID LLM Test (streaming)❗︎ 1 1⚠︎ 16059ms
checkAISpanCount(4)
checkChatSpanAttributes
88af82c8gen_ai.usage.input_tokensSpan 88af82c8: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
88af82c8gen_ai.usage.output_tokensSpan 88af82c8: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
be8aff86gen_ai.usage.input_tokensSpan be8aff86: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
be8aff86gen_ai.usage.output_tokensSpan be8aff86: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
a8cfec1agen_ai.usage.input_tokensSpan a8cfec1a: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a8cfec1agen_ai.usage.output_tokensSpan a8cfec1a: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
836ce1b0gen_ai.usage.input_tokensSpan 836ce1b0: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
836ce1b0gen_ai.usage.output_tokensSpan 836ce1b0: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
88af82c8gen_ai.usage.input_tokensinput_tokens must exist
88af82c8gen_ai.usage.output_tokensoutput_tokens must exist
88af82c8gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
88af82c8gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
be8aff86gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a8cfec1agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
836ce1b0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "span_id": "9d5079e7a95ba828",
    "trace_id": "14da4465353d4c47b2fdbff65bb8c0f7",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552650.2372,
    "timestamp": 1787552655.6343,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "88af82c8aed05294",
    "trace_id": "14da4465353d4c47b2fdbff65bb8c0f7",
    "parent_span_id": "9d5079e7a95ba828",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552650.2413,
    "timestamp": 1787552651.5879002,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "be8aff86e9259bec",
    "trace_id": "14da4465353d4c47b2fdbff65bb8c0f7",
    "parent_span_id": "9d5079e7a95ba828",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552651.5892,
    "timestamp": 1787552653.0218,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a8cfec1a45ca26ce",
    "trace_id": "14da4465353d4c47b2fdbff65bb8c0f7",
    "parent_span_id": "9d5079e7a95ba828",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552653.0223,
    "timestamp": 1787552654.3346999,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "836ce1b0e5e50b74",
    "trace_id": "14da4465353d4c47b2fdbff65bb8c0f7",
    "parent_span_id": "9d5079e7a95ba828",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552654.3351998,
    "timestamp": 1787552655.6338,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3
    },
    "status": "error",
    "is_segment": false
  }
]
browser/anthropic :: Conversation ID LLM Test (blocking)❗︎ 1 1⚠︎ 16099ms
checkAISpanCount(4)
checkChatSpanAttributes
bcff461egen_ai.usage.input_tokensSpan bcff461e: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
bcff461egen_ai.usage.output_tokensSpan bcff461e: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
9b5312e1gen_ai.usage.input_tokensSpan 9b5312e1: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9b5312e1gen_ai.usage.output_tokensSpan 9b5312e1: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
a57a8148gen_ai.usage.input_tokensSpan a57a8148: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a57a8148gen_ai.usage.output_tokensSpan a57a8148: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
842f8459gen_ai.usage.input_tokensSpan 842f8459: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
842f8459gen_ai.usage.output_tokensSpan 842f8459: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
bcff461egen_ai.usage.input_tokensinput_tokens must exist
bcff461egen_ai.usage.output_tokensoutput_tokens must exist
bcff461egen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
bcff461egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9b5312e1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a57a8148gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
842f8459gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "span_id": "bd3ff0eb4c814ecd",
    "trace_id": "8b3fa3de7ac84f1baf404010fcac8a78",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552650.5446,
    "timestamp": 1787552655.9994001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bcff461e4f147e28",
    "trace_id": "8b3fa3de7ac84f1baf404010fcac8a78",
    "parent_span_id": "bd3ff0eb4c814ecd",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552650.5465,
    "timestamp": 1787552652.0387,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "9b5312e18917a206",
    "trace_id": "8b3fa3de7ac84f1baf404010fcac8a78",
    "parent_span_id": "bd3ff0eb4c814ecd",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552652.0396001,
    "timestamp": 1787552653.338,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a57a8148650284d0",
    "trace_id": "8b3fa3de7ac84f1baf404010fcac8a78",
    "parent_span_id": "bd3ff0eb4c814ecd",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552653.3392003,
    "timestamp": 1787552654.6626,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "842f845995549875",
    "trace_id": "8b3fa3de7ac84f1baf404010fcac8a78",
    "parent_span_id": "bd3ff0eb4c814ecd",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552654.6639001,
    "timestamp": 1787552655.9985,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3
    },
    "status": "error",
    "is_segment": false
  }
]
browser/google-genai :: Basic LLM Test (streaming)❗︎ 11269ms
checkAISpanCount(1)
checkChatSpanAttributes
91f2e65egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91f2e65egen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "b487aaecb403f556",
    "trace_id": "5eafc878676942bfa37c81e0308815bf",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552650.8883,
    "timestamp": 1787552651.4642,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "91f2e65ec8f3a634",
    "trace_id": "5eafc878676942bfa37c81e0308815bf",
    "parent_span_id": "b487aaecb403f556",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552650.8908,
    "timestamp": 1787552651.4638,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "i-OLao2bC4DBqtsPiICH4Q0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Basic LLM Test (blocking)❗︎ 11117ms
checkAISpanCount(1)
checkChatSpanAttributes
a95c151egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a95c151egen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "950f588f111a7e15",
    "trace_id": "88d62fa22c74458baf10e151f79ab147",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552651.1167998,
    "timestamp": 1787552651.4845998,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "a95c151e9417fcc7",
    "trace_id": "88d62fa22c74458baf10e151f79ab147",
    "parent_span_id": "950f588f111a7e15",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.1242998,
    "timestamp": 1787552651.4842,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Multi-Turn LLM Test (streaming)❗︎ 1 12152ms
checkAISpanCount(3)
checkChatSpanAttributes
87e633abgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
87e633abgen_ai.output.messagesMissing output messages attribute
91ab657cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91ab657cgen_ai.output.messagesMissing output messages attribute
822f02b8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
822f02b8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
91ab657cgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
822f02b8gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
822f02b8gen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "span_id": "a4efa8f3a62247f5",
    "trace_id": "ff6a451140cf4972b8bcd5596af46aaa",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552651.0859,
    "timestamp": 1787552652.5881999,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "87e633ab51bc479b",
    "trace_id": "ff6a451140cf4972b8bcd5596af46aaa",
    "parent_span_id": "a4efa8f3a62247f5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.0881002,
    "timestamp": 1787552651.4638,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "i-OLasX6DIKEqtsPiISr6Qg",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91ab657c73c4e6e7",
    "trace_id": "ff6a451140cf4972b8bcd5596af46aaa",
    "parent_span_id": "a4efa8f3a62247f5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.4643002,
    "timestamp": 1787552652.2235,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "i-OLatmTItyDqtsPh4C9qQU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 183,
      "gen_ai.usage.total_tokens": 215,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The population of Paris is estimated to be around **2.1 million people** within the administrative city limits as of 2023.\n\nHowever, it's important to note that this number can vary depending on how you define \"Paris\":\n\n*   **City Proper (Administrative Limits):** This is the 2.1 million figure.\n*   **Urban Area (Agglomeration):** This includes the surrounding suburbs that are functionally integrated with the city. This figure is much larger, often cited as over **11 million people**.\n*   **Metropolitan Area:** This is an even broader definition, including areas that are economically and socially linked to Paris, even if they are further out. This can be around **13 million people**.\n\nSo, while the core city has about 2.1 million residents, the greater Parisian region is home to a significantly larger population."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "822f02b83c162240",
    "trace_id": "ff6a451140cf4972b8bcd5596af46aaa",
    "parent_span_id": "a4efa8f3a62247f5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.2238,
    "timestamp": 1787552652.5878,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "jOOLauW_Eq6zqtsP-o_dsAE",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 43,
      "gen_ai.usage.total_tokens": 100,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The population of the Paris metropolitan area is much larger, estimated to be around **11 million people**.\n\nThis figure includes the city of Paris itself and its surrounding suburbs, which form a continuously urbanized area."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Multi-Turn LLM Test (blocking)❗︎ 1 12047ms
checkAISpanCount(3)
checkChatSpanAttributes
ad2af4c2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad2af4c2gen_ai.output.messagesMissing output messages attribute
81772a90gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81772a90gen_ai.output.messagesMissing output messages attribute
a891d6cbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a891d6cbgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
81772a90gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
a891d6cbgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
a891d6cbgen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "span_id": "a067a208692e0a3e",
    "trace_id": "33d8b21f6c5f458491966c49f17f201b",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552651.1658,
    "timestamp": 1787552652.5073001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "ad2af4c258b62978",
    "trace_id": "33d8b21f6c5f458491966c49f17f201b",
    "parent_span_id": "a067a208692e0a3e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.1671002,
    "timestamp": 1787552651.5651999,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 22,
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "81772a901a4a7fdc",
    "trace_id": "33d8b21f6c5f458491966c49f17f201b",
    "parent_span_id": "a067a208692e0a3e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.5659,
    "timestamp": 1787552652.0878,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 68,
      "gen_ai.usage.total_tokens": 100,
      "gen_ai.response.text": "The population of Paris is estimated to be around **2.1 million** people within the city limits as of recent estimates.\n\nHowever, if you consider the larger **metropolitan area** of Paris, which includes the surrounding suburbs and commuter towns, the population is significantly higher, often cited as being over **11 million** people."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a891d6cb5f5993d6",
    "trace_id": "33d8b21f6c5f458491966c49f17f201b",
    "parent_span_id": "a067a208692e0a3e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.0884001,
    "timestamp": 1787552652.5069,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 32,
      "gen_ai.usage.total_tokens": 89,
      "gen_ai.response.text": "The metropolitan area of Paris, also known as the Paris **aire urbaine**, is much larger. It has a population of around **11 million people**."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Vision LLM Test (streaming)❗︎ 1 11044ms
checkChatSpanAttributes
93ba2194gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93ba2194gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
93ba2194gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
93ba2194gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "938b85be35637db4",
    "trace_id": "f05c7264f7584678b8644f6d7df410a9",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552651.4573,
    "timestamp": 1787552651.8693001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "93ba2194162aef73",
    "trace_id": "f05c7264f7584678b8644f6d7df410a9",
    "parent_span_id": "938b85be35637db4",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.4594,
    "timestamp": 1787552651.8687,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "i-OLavX1IdGBqtsPoryGUQ",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Vision LLM Test (blocking)❗︎ 1 11280ms
checkChatSpanAttributes
b2b10b79gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b2b10b79gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b2b10b79gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b2b10b79gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "9e472e2fb499185f",
    "trace_id": "f701749238d54764adb551e22ecde3cb",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552651.4904,
    "timestamp": 1787552652.1258001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "b2b10b79647d360f",
    "trace_id": "f701749238d54764adb551e22ecde3cb",
    "parent_span_id": "9e472e2fb499185f",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552651.4931002,
    "timestamp": 1787552652.1248,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Long Input LLM Test (streaming)❗︎ 11057ms
checkChatSpanAttributes
aeee31a8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aeee31a8gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "90ad03b3564e9212",
    "trace_id": "95dbd617708f47f1a8b4ff6a8cf59083",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552652.1603,
    "timestamp": 1787552652.5121,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "aeee31a89125a77a",
    "trace_id": "95dbd617708f47f1a8b4ff6a8cf59083",
    "parent_span_id": "90ad03b3564e9212",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.1634002,
    "timestamp": 1787552652.5118,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "jOOLaseMEYvpqtsPqr2WqAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "This is a test message that will be repeated many times to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Long Input LLM Test (blocking)❗︎ 11041ms
checkChatSpanAttributes
ba494866gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba494866gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "ae2b87601f17a9ad",
    "trace_id": "46ec5126c35248a5a07c88c16118c8b3",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552652.1632,
    "timestamp": 1787552652.5139,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "ba49486691ebbf92",
    "trace_id": "46ec5126c35248a5a07c88c16118c8b3",
    "parent_span_id": "ae2b87601f17a9ad",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.1653001,
    "timestamp": 1787552652.5133,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.text": "This is a test message that has been repeated many times to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Conversation ID LLM Test (streaming)❗︎ 1 11796ms
checkAISpanCount(4)
checkChatSpanAttributes
a21e53fegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a21e53fegen_ai.output.messagesMissing output messages attribute
b4cebfd3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4cebfd3gen_ai.output.messagesMissing output messages attribute
ae874f22gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae874f22gen_ai.output.messagesMissing output messages attribute
bf55c4cagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bf55c4cagen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
ae874f22gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
bf55c4cagen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "span_id": "ab375553e9847c6c",
    "trace_id": "3ac88e22e8ba4bbb8b33551ef05bd35a",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552652.1726,
    "timestamp": 1787552653.3341,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "a21e53feedf8d5c9",
    "trace_id": "3ac88e22e8ba4bbb8b33551ef05bd35a",
    "parent_span_id": "ab375553e9847c6c",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.1749,
    "timestamp": 1787552652.4566002,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "jOOLaoWyEJqkqtsPw8T3mA4",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4cebfd34e104bfa",
    "trace_id": "3ac88e22e8ba4bbb8b33551ef05bd35a",
    "parent_span_id": "ab375553e9847c6c",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.4584002,
    "timestamp": 1787552652.7788,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "jOOLaqeNIeef6dkPls-CwQY",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "That's a great question to start with!\n\n2 + 2 equals **4**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae874f22a653c668",
    "trace_id": "3ac88e22e8ba4bbb8b33551ef05bd35a",
    "parent_span_id": "ab375553e9847c6c",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.7796001,
    "timestamp": 1787552653.0514002,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "jOOLauX5NOqxqtsP2_zdyQE",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bf55c4ca5da1fe4e",
    "trace_id": "3ac88e22e8ba4bbb8b33551ef05bd35a",
    "parent_span_id": "ab375553e9847c6c",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552653.0519001,
    "timestamp": 1787552653.3339002,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "jeOLavXyCNLoqtsPjaqIsAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/google-genai :: Conversation ID LLM Test (blocking)❗︎ 1 11926ms
checkAISpanCount(4)
checkChatSpanAttributes
9be5c026gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9be5c026gen_ai.output.messagesMissing output messages attribute
99b64badgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99b64badgen_ai.output.messagesMissing output messages attribute
afbd46fcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
afbd46fcgen_ai.output.messagesMissing output messages attribute
894c5164gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
894c5164gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
afbd46fcgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
894c5164gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "span_id": "91a6fb8accc5fd03",
    "trace_id": "499e38d75515465f864cef11fbfc8d78",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552652.193,
    "timestamp": 1787552653.4814,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "9be5c02624f6083f",
    "trace_id": "499e38d75515465f864cef11fbfc8d78",
    "parent_span_id": "91a6fb8accc5fd03",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.1945999,
    "timestamp": 1787552652.4893,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99b64badefbb3f3e",
    "trace_id": "499e38d75515465f864cef11fbfc8d78",
    "parent_span_id": "91a6fb8accc5fd03",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.4902,
    "timestamp": 1787552652.7903001,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.response.text": "2 + 2 equals 4."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "afbd46fc4bb3e013",
    "trace_id": "499e38d75515465f864cef11fbfc8d78",
    "parent_span_id": "91a6fb8accc5fd03",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552652.7908,
    "timestamp": 1787552653.0893002,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "894c5164eaa4a5b8",
    "trace_id": "499e38d75515465f864cef11fbfc8d78",
    "parent_span_id": "91a6fb8accc5fd03",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552653.0898001,
    "timestamp": 1787552653.4812,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Basic LLM Test (streaming, openai)❗︎ 1⚠︎ 12006ms
checkAISpanCount(1)
checkChatSpanAttributes
bef38346gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bef38346gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
bef38346gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "a19955b8f5f6d8c4",
    "trace_id": "15c2098f8b534d43bd0e63467e8df859",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552652.5413,
    "timestamp": 1787552653.8528998,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bef383467bf86865",
    "trace_id": "15c2098f8b534d43bd0e63467e8df859",
    "parent_span_id": "a19955b8f5f6d8c4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552652.5461001,
    "timestamp": 1787552653.8523998,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIOKrjdCK1blBs7x1gUUM7uD0UXN",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Basic LLM Test (streaming, anthropic)⏱︎ Timeout30125ms
browser/langchain :: Basic LLM Test (blocking, openai)❗︎ 1⚠︎ 11832ms
checkAISpanCount(1)
checkChatSpanAttributes
849559b5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
849559b5gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
849559b5gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "bb9929fa463d70f7",
    "trace_id": "440ea8f489fb4d778cda4d74d2a08882",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552653.2361002,
    "timestamp": 1787552654.4004002,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "849559b5392651bb",
    "trace_id": "440ea8f489fb4d778cda4d74d2a08882",
    "parent_span_id": "bb9929fa463d70f7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552653.2435,
    "timestamp": 1787552654.3999002,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIOLUClAz6OgJyPcZkodL70P7iD8",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Basic LLM Test (blocking, anthropic)⏱︎ Timeout30146ms
browser/langchain :: Multi-Turn LLM Test (streaming, openai)❗︎ 1⚠︎ 114916ms
checkAISpanCount(3)
checkChatSpanAttributes
b611e14fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b611e14fgen_ai.output.messagesMissing output messages attribute
a6567b19gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a6567b19gen_ai.output.messagesMissing output messages attribute
abb9c030gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
abb9c030gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b611e14fgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a6567b19gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
abb9c030gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "span_id": "9c83129e9606bf73",
    "trace_id": "75816f5729604a75a7525bf926f67467",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552653.2292,
    "timestamp": 1787552667.4885,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "b611e14fd8ba3eff",
    "trace_id": "75816f5729604a75a7525bf926f67467",
    "parent_span_id": "9c83129e9606bf73",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552653.2344,
    "timestamp": 1787552654.5489001,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 138,
      "gen_ai.usage.total_tokens": 161,
      "gen_ai.response.id": "chatcmpl-EGIOLJkMNPKmhX3NPati1upEBHBPr",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a6567b19872e099d",
    "trace_id": "75816f5729604a75a7525bf926f67467",
    "parent_span_id": "9c83129e9606bf73",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552654.55,
    "timestamp": 1787552659.3897,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"There are different definitions:\\n\\n- Paris city proper (the commune): about 2.1 million people.\\n- Paris metropolitan area (the urban area surrounding Paris): about 12 million people.\\n- Île-de-France region (the wider region around Paris): around 12–13 million people.\\n\\nIf you tell me which definition you want (city, urban area, or region), I can give you the exact latest figure.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 990,
      "gen_ai.usage.total_tokens": 1038,
      "gen_ai.response.id": "chatcmpl-EGIOMtOdsVbI9zpO9v0rR3J7lRE6t",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "abb9c030fa631f81",
    "trace_id": "75816f5729604a75a7525bf926f67467",
    "parent_span_id": "9c83129e9606bf73",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552659.3906002,
    "timestamp": 1787552667.4876,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"If you mean the wider Paris metropolitan area, the population is roughly around 12 million people. The exact figure depends on definitions:\\n\\n- Paris urban area (aire urbaine): about 12 million.\\n- Île-de-France region (the administrative region that includes Paris and its suburbs): about 12–13 million.\\n- Grand Paris Métropole (an intercommunal authority in the metro area): about 7 million.\\n\\nIf you specify which definition and year you want, I can give a more precise number.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1458,
      "gen_ai.usage.total_tokens": 1539,
      "gen_ai.response.id": "chatcmpl-EGIORWwjFFfhCLhCQjgd7fs6Y2D0A",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Multi-Turn LLM Test (streaming, anthropic)⏱︎ Timeout30155ms
browser/langchain :: Multi-Turn LLM Test (blocking, openai)❗︎ 1⚠︎ 116599ms
checkAISpanCount(3)
checkChatSpanAttributes
904e9de7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
904e9de7gen_ai.output.messagesMissing output messages attribute
a8538b93gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8538b93gen_ai.output.messagesMissing output messages attribute
b4ffff56gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4ffff56gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
904e9de7gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a8538b93gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b4ffff56gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "span_id": "a7d9a0ac304c40e4",
    "trace_id": "f49a49bed33340a99147c8fc35fce84c",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552653.4590998,
    "timestamp": 1787552669.4476,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "904e9de7426036f2",
    "trace_id": "f49a49bed33340a99147c8fc35fce84c",
    "parent_span_id": "a7d9a0ac304c40e4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552653.4631999,
    "timestamp": 1787552654.5400999,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIOLRC1dD4sdyyEgAVBhgDOQlKBk",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a8538b93df241b43",
    "trace_id": "f49a49bed33340a99147c8fc35fce84c",
    "parent_span_id": "a7d9a0ac304c40e4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552654.541,
    "timestamp": 1787552662.5031,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Do you mean Paris the city proper or the wider Paris metropolitan area? \\n\\n- City proper (the commune of Paris): about 2.1 million people.\\n- Paris metropolitan area (urban/metropolitan area, much larger): about 11–12 million people, depending on the exact definition used.\\n\\nIf you want precise latest figures, tell me which definition and year you’d like (e.g., INSEE data for 2020, 2023, etc.).\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1639,
      "gen_ai.usage.total_tokens": 1687,
      "gen_ai.response.id": "chatcmpl-EGIOM4SgZzscMiHBCN358NAl9vJxi",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4ffff56eddb156a",
    "trace_id": "f49a49bed33340a99147c8fc35fce84c",
    "parent_span_id": "a7d9a0ac304c40e4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552662.5040998,
    "timestamp": 1787552669.4472,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Definitions vary, but for the Paris metropolitan area:\\n\\n- Paris urban area (aire urbaine de Paris): about 12 million people.\\n- Île-de-France region (the wider Greater Paris area): roughly 12.5–13 million.\\n\\nIf you have a specific definition or year in mind (e.g., INSEE figures for a particular year), I can give a precise number.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1368,
      "gen_ai.usage.total_tokens": 1449,
      "gen_ai.response.id": "chatcmpl-EGIOU8DvyhhELm2kKXCyGfvZ0FbCs",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Multi-Turn LLM Test (blocking, anthropic)⏱︎ Timeout30104ms
browser/langchain :: Basic Error LLM Test (streaming, anthropic)⏱︎ Timeout30089ms
browser/langchain :: Basic Error LLM Test (blocking, anthropic)⏱︎ Timeout30099ms
browser/langchain :: Vision LLM Test (streaming, openai)❗︎ 1⚠︎ 11482ms
checkChatSpanAttributes
9f7777c3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f7777c3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
9f7777c3gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "aaeb5636b9ddd052",
    "trace_id": "d4e8685beddc4f80820b19eb89b0a889",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552655.0102003,
    "timestamp": 1787552655.874,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "9f7777c37563814d",
    "trace_id": "d4e8685beddc4f80820b19eb89b0a889",
    "parent_span_id": "aaeb5636b9ddd052",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552655.0136,
    "timestamp": 1787552655.8736,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIONahD4WBAzZyBL6LFkPauvaaYZ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Vision LLM Test (streaming, anthropic)⏱︎ Timeout30091ms
browser/langchain :: Vision LLM Test (blocking, openai)❗︎ 1⚠︎ 11249ms
checkChatSpanAttributes
b9be1809gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b9be1809gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
b9be1809gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "8d115d0988aa479f",
    "trace_id": "a6a91e3669aa4cec95e9b4055f63911a",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552656.2438002,
    "timestamp": 1787552656.876,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "b9be180910d87bdb",
    "trace_id": "a6a91e3669aa4cec95e9b4055f63911a",
    "parent_span_id": "8d115d0988aa479f",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552656.2473998,
    "timestamp": 1787552656.8755,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIOO3GybvR1AxwNLjHoTADvRxjKF",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Vision LLM Test (blocking, anthropic)⏱︎ Timeout30096ms
browser/langchain :: Long Input LLM Test (streaming, openai)❗︎ 1⚠︎ 11299ms
checkChatSpanAttributes
a36c3cbcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a36c3cbcgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
a36c3cbcgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "b75d399760bc114e",
    "trace_id": "c4115affff594f34a9934ea8fada2f3c",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552656.5936,
    "timestamp": 1787552657.2748,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "a36c3cbcd87c826c",
    "trace_id": "c4115affff594f34a9934ea8fada2f3c",
    "parent_span_id": "b75d399760bc114e",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552656.5973,
    "timestamp": 1787552657.2743,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"This test message will be repeated multiple times to generate extensive input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.response.id": "chatcmpl-EGIOOjmKJgyjlLExaizKgDJK4AGEl",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Long Input LLM Test (streaming, anthropic)⏱︎ Timeout30096ms
browser/langchain :: Long Input LLM Test (blocking, openai)❗︎ 1⚠︎ 11217ms
checkChatSpanAttributes
bb35d819gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb35d819gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
bb35d819gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "ad5f6e89e07e33cd",
    "trace_id": "7cc45f96e7d848aa9f4fe1d471726332",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552657.8944,
    "timestamp": 1787552658.5014,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bb35d819ec99888d",
    "trace_id": "7cc45f96e7d848aa9f4fe1d471726332",
    "parent_span_id": "ad5f6e89e07e33cd",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552657.8982997,
    "timestamp": 1787552658.5008,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"A repetitive test message is being used to generate a long input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.response.id": "chatcmpl-EGIOQ4OUrqif9t2u7qeg3VWNDvbUw",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Long Input LLM Test (blocking, anthropic)⏱︎ Timeout30101ms
browser/langchain :: Conversation ID LLM Test (streaming, openai)❗︎ 1⚠︎ 18651ms
checkAISpanCount(4)
checkChatSpanAttributes
8a6b0bb1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a6b0bb1gen_ai.output.messagesMissing output messages attribute
a2c85eb8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a2c85eb8gen_ai.output.messagesMissing output messages attribute
8d1de40cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d1de40cgen_ai.output.messagesMissing output messages attribute
b8fec4e4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8fec4e4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8a6b0bb1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a2c85eb8gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8d1de40cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b8fec4e4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "span_id": "a19d68becf72a12c",
    "trace_id": "5badead90d6b47c492257d5497345d30",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552668.1093001,
    "timestamp": 1787552676.1533,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "8a6b0bb125d38d9c",
    "trace_id": "5badead90d6b47c492257d5497345d30",
    "parent_span_id": "a19d68becf72a12c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552668.1125,
    "timestamp": 1787552669.4193,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.id": "chatcmpl-EGIOaK4EZHOmjagfkbOfY3lfbsGNe",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a2c85eb86f2cc462",
    "trace_id": "5badead90d6b47c492257d5497345d30",
    "parent_span_id": "a19d68becf72a12c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552669.4203,
    "timestamp": 1787552671.5568998,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4\\n\\nExplanation (optional): 2 + 2 means adding two objects to two objects, which makes four. You can also count: 2, 3, 4. If you want more examples, I’m happy to provide them.\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 315,
      "gen_ai.usage.total_tokens": 339,
      "gen_ai.response.id": "chatcmpl-EGIObwCxbKa5FJXWi7LNqXDV6BExP",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8d1de40c52165b44",
    "trace_id": "5badead90d6b47c492257d5497345d30",
    "parent_span_id": "a19d68becf72a12c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552671.5578,
    "timestamp": 1787552673.9866002,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin. Since reunification in 1990, Berlin has been the capital; Bonn served as the capital of West Germany before that.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 425,
      "gen_ai.usage.total_tokens": 469,
      "gen_ai.response.id": "chatcmpl-EGIOdYiVl1HbUUjfHgqCVzNZAURVv",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b8fec4e4df5f3640",
    "trace_id": "5badead90d6b47c492257d5497345d30",
    "parent_span_id": "a19d68becf72a12c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552673.9878001,
    "timestamp": 1787552676.153,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6. Three plus three equals six. You can think of it as two groups of three: 3 + 3 = 6.\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 299,
      "gen_ai.usage.total_tokens": 349,
      "gen_ai.response.id": "chatcmpl-EGIOgj7a2TDf7e8FxWIxckOZ5ANRT",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Conversation ID LLM Test (streaming, anthropic)⏱︎ Timeout30254ms
browser/langchain :: Conversation ID LLM Test (blocking, openai)❗︎ 1⚠︎ 18832ms
checkAISpanCount(4)
checkChatSpanAttributes
8ebd15dagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ebd15dagen_ai.output.messagesMissing output messages attribute
90180463gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90180463gen_ai.output.messagesMissing output messages attribute
90392c8dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90392c8dgen_ai.output.messagesMissing output messages attribute
b3ad9d08gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3ad9d08gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8ebd15dagen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
90180463gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
90392c8dgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b3ad9d08gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "span_id": "8ce7d72049d340d3",
    "trace_id": "b8fdaee08076449ca33bbe6f031719ab",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552676.759,
    "timestamp": 1787552684.9788,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "8ebd15da03331afc",
    "trace_id": "b8fdaee08076449ca33bbe6f031719ab",
    "parent_span_id": "8ce7d72049d340d3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552676.7623,
    "timestamp": 1787552678.1595,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.id": "chatcmpl-EGIOjdTIjClTmDW0zQgEjRqIzfASL",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "901804639739c3a0",
    "trace_id": "b8fdaee08076449ca33bbe6f031719ab",
    "parent_span_id": "8ce7d72049d340d3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552678.1604002,
    "timestamp": 1787552680.4678001,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4. 2 + 2 equals 4.\\n\\nIf you’d like, I can show a quick explanation (e.g., with counting objects or a number line) or give you a few similar problems.\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 307,
      "gen_ai.usage.total_tokens": 331,
      "gen_ai.response.id": "chatcmpl-EGIOk7tILl2WOJRd22oKE4kGBU2Wm",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90392c8d5630ea77",
    "trace_id": "b8fdaee08076449ca33bbe6f031719ab",
    "parent_span_id": "8ce7d72049d340d3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552680.4686,
    "timestamp": 1787552682.5111,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin. Since the 1990 reunification, Berlin has served as the capital. If you’d like, I can share more about Germany.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 235,
      "gen_ai.usage.total_tokens": 279,
      "gen_ai.response.id": "chatcmpl-EGIOmxpnbT64160dxAKD7sIBrhVfm",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b3ad9d08241838ba",
    "trace_id": "b8fdaee08076449ca33bbe6f031719ab",
    "parent_span_id": "8ce7d72049d340d3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552682.5119002,
    "timestamp": 1787552684.9784002,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nIf you want, I can show a quick way to see it (like doubling or using a number line).\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 423,
      "gen_ai.usage.total_tokens": 473,
      "gen_ai.response.id": "chatcmpl-EGIOoJRHeTQjt9aWOnRfqt0GIdAZB",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/langchain :: Conversation ID LLM Test (blocking, anthropic)⏱︎ Timeout30120ms
browser/openai :: Basic LLM Test (streaming, chat)❗︎ 12167ms
checkAISpanCount(1)
checkChatSpanAttributes
be63117agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be63117agen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "8666695388985726",
    "trace_id": "92fa3b78dab34131961e36ee7730c382",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552683.2909,
    "timestamp": 1787552684.8847997,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "be63117a505c5c2f",
    "trace_id": "92fa3b78dab34131961e36ee7730c382",
    "parent_span_id": "8666695388985726",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552683.2921,
    "timestamp": 1787552684.8842998,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOpGiRbie4euRX4PkTVS65JZ8fT",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Basic LLM Test (streaming, responses)❗︎ 12638ms
checkAISpanCount(1)
checkChatSpanAttributes
bf029f3cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bf029f3cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "844a94d45abc9c4b",
    "trace_id": "4e6309a7ee394b32802c783772297414",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552683.3574,
    "timestamp": 1787552685.405,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bf029f3c5839ba97",
    "trace_id": "4e6309a7ee394b32802c783772297414",
    "parent_span_id": "844a94d45abc9c4b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552683.3586,
    "timestamp": 1787552685.4046,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0f57aff97647f88b006a8be3aba52487d09bd7d4b237e1b0fa",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 237,
      "gen_ai.usage.total_tokens": 260,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris is the capital of France.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0f57aff97647f88b006a8be3abfaa087d0beb80aceee76746d\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-OtKZa5duhZ8aFdQl-BX-RySyghvrdygf1WA9XrJs3dAazEafBw80CsEppWxb5oOuIJYtDaBsMdIPbtUKPKV4sYz8TdruSAbgPtV81W8aB0Rn2eLNJvGb-451eb13qKpglbFBmFZEN3CVFLCx9vWT0frssI6oGpEKQTVK-xP-4ME-g2CougmelYNhM5_Vvp5dPFVdfIGZK592ZYWyTijiETvSAOHWPeddsSqZSn6C-SOfB-VnfbnBC8G4OzMuCEWE7YMKT7Y---Bm4nuMEVbNHpqHgJEywceZHA8XGgrmbR1Gk26lSy-n5BMpSDyFO0Y-uN7rqFxgS1JNwZC9joBu5Z1FD1h6obrZaDEXY2b6Wv26o_SW6FYtFrDMfIfZvABnXXsYWWZWm_bwqTMgd4t5opxtWG12bSgC7UQMT3NDwsSg6AfTRdEUhIC2oV_aVUFtDd-E4IP0KBGBvIRxLdwel1JimaxotAAUXzkzUuul4ZIkPXlAWXOvnzUQrL3wVXIp75fNK6nCwJllJBd-VNnsjdbh11v86qVYvHL1m3uAscz_zWpeQil8_MsO6HI6OS_IrrRCULC8blJLTnkTUEW1o3DzryuBIJ__fr9NdkP7jMLlkQ5ILdumOVyrsfZcaJMwlGx53fgEXraA-guBrnjoc0qDpkgARF1RUshjCu6VcvSfqll3sXU4uCCc5KWoslRhcO9v8IQnuuQyoJC1M1J1FBjauJK8WPluI_emaCChBZINav-32vdtQS98hpNjECD5G01hJtuiNaaggoRRitzHwlt_CfjQv1qmP2MHRaicVypuc6vpVrALxzEFno1ReEFJqDTK8DwoRa0aUZVtxd5QO6NRHBvYSVoCPb8HzVoi4vf4pS6khogjfhzA3T7UQyR2XLN4735NP5DVXb9_SpVb1P_nNt6rezXkdqeP76WOycZ0lyrtHlwPc109_oalrn5JZYuE9AJlniwNrB7xMcx0a79HnCsloJ-JzPaQw76dTAphdxIKYvBP41Cflph7ablGWoG5jPMuw1O0V4iqejIoY3xdrltCpCJVk5lpHnzytXG6SWOQVJN_9wB2qnUYy3nPRPLShva8PtQFz9xjydjANUsdXkOzYSeEa6Vrtul3XBgB59r-TzUDMMT0zYzNYtNDSv64UCkp38RvkAsR-hzGV0pgYrVcI_OFOk5T0h2jVd2jKYDxtarZvsC3TAAal0uaO9arQtm_tde_KPHdo_9YslGBzkHtCdJIJlT2DkYf1SkyW0NEJLeEZKCsV6zwZzBbmo-gPhKHSUd-FbLvaPX5BZP1iRJwvkTj7whIZBZ171AWhmxoAleixUUegvfvfFQT9fbUpD82bTn5EZYqiK0_Pzhc-98_oe-dSuCrxgXOIjxAyLODxUofAvv-tya1uG_Gatc6NOwcZtfbwhV6xxDb-5OCngqv0kod7oRH8fsEjotlTrHjk4Vatug0V_UBNDCvfR9do_zlk-292TDtRRBTKdHENNKLCUKLne1u81GFfqNchjf8TE0JoKijeeAnNgU8GJj543eBXYOuLa2QXGriEMQo8gQXBQi8K9YxepKl-9JN1fwBVuBTrbGijBKa4d7zS1xVK4hWd4DgdhXusWhkRFh9hO1p4Yb5inS9RFkb2Mua0_-QdCHoN7LEYY57OvZOuO0vwvvoMhiiCIp5QtjHGCJPiPCjRlvyt27cEEagMFt0Zmy6uBSx6_r7jTQyU-Fs8Z4fF6eSCDR3sF2fkGtZfV3evgJVv4nNSNfRAAXmSue9et2t1Oj5343_RCyV0cvlog4XunjXBtfbcSbCDXO4q7qeOxLeY-h4KOVVmehFhH-Z-SFVtxa2okDjOu-qiAry0p0DLKCcvOKr8nbbclDw34NvWc9no9AEzF0_BRMvYiF82dc9tSBFSMrE3nf3FVkyBDfn_rAFtewQrh52PRrwENhq1ch2giW03PTwf5BaaIg-8nV3DIUdHuOwkyxjG6gz3ReLMD3uszf8_iu2uKt8NtM6dgSiBXQpuOKzG9vDRpJBxL6EO8SMKcjYAKNrDfwwdAeCqr4jl_XdMZwu7mMvyNYhEqUg4_XDafnX6e4nx3wpnuwDTHmstE-VkCKYTlwMkMnJ7x2fHc5craNCt_h6WeQNnjtBdtbxtikQcTetfwGN9Nw2WMvmOQ8ixhcHYyF9seatXy_1Ul53edFbGVzLbahuzV9aabteyyYUeqBuOJB8iniDjEQHp_LCuBWB3weEWMir2paB9HJZ0E1jOsBRRdoblT1AtsbftHesR1sPf36F6EDrC1mztuznGktuOnYdHXuD2AVI4zg9Xvd0C1KhL0btqPsLYR6zzK8WUv6Wv0L1DOu0M0kCwLYFdUrSf3Ptf3q9kL9mchcwGXnlPFAMf-incUpb4zl6xyfq5a-vA8pK4ZQa5yA0wyN__oJiUs7g67kOdkzbcTIsNTahZIzazlpz9hcViI3rnhw0edohscd4nDAf7YYI7FBIKS7XAwHWX1vC-vKcf2DhhlxqdDUz_-R9G6qedHuXRRg6qLz8KK384=\",\"summary\":[]},{\"id\":\"msg_0f57aff97647f88b006a8be3ad10d087d09993aa0c03676076\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris is the capital of France.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Basic LLM Test (blocking, chat)❗︎ 12246ms
checkAISpanCount(1)
checkChatSpanAttributes
95376aa3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95376aa3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "92969698e5b37c0e",
    "trace_id": "daac83ceef1a4ac6b57cf4c4404b780b",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552683.6111002,
    "timestamp": 1787552685.2778,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "95376aa3279d0a13",
    "trace_id": "daac83ceef1a4ac6b57cf4c4404b780b",
    "parent_span_id": "92969698e5b37c0e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552683.6122003,
    "timestamp": 1787552685.2773001,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIOp7x1IJOBRF0jAu94g6gKIYdog",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Basic LLM Test (blocking, responses)❗︎ 12358ms
checkAISpanCount(1)
checkChatSpanAttributes
85fb9dd2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85fb9dd2gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "af84a8a3d24e5f40",
    "trace_id": "7218271adb1b439ca34b821f850eb75c",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552684.154,
    "timestamp": 1787552685.9242003,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "85fb9dd2fc213133",
    "trace_id": "7218271adb1b439ca34b821f850eb75c",
    "parent_span_id": "af84a8a3d24e5f40",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552684.1555,
    "timestamp": 1787552685.9237,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0c370f7955cc3b4c006a8be3ac4f3087d0a2f3e96b5482bf26",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 96,
      "gen_ai.usage.total_tokens": 119,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Multi-Turn LLM Test (streaming, chat)❗︎ 115328ms
checkAISpanCount(3)
checkChatSpanAttributes
9167181fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9167181fgen_ai.output.messagesMissing output messages attribute
ba0ee598gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba0ee598gen_ai.output.messagesMissing output messages attribute
8ed4366agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ed4366agen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "span_id": "a732815e2b9decd4",
    "trace_id": "24a7e732c30c43d69bd67e75f8d31ad4",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552684.8752,
    "timestamp": 1787552699.5243,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "9167181f0cea0b8a",
    "trace_id": "24a7e732c30c43d69bd67e75f8d31ad4",
    "parent_span_id": "a732815e2b9decd4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552684.8764,
    "timestamp": 1787552686.7568998,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOr5N7y1DcGe9lqmUo7UdPnl2vV",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba0ee598ba0ecd90",
    "trace_id": "24a7e732c30c43d69bd67e75f8d31ad4",
    "parent_span_id": "a732815e2b9decd4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552686.7573998,
    "timestamp": 1787552694.6264,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOse4tEhPGB5nHZNBZGJqFIdpxZ",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1497,
      "gen_ai.usage.total_tokens": 1545,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Do you mean:\n\n- City proper (the commune of Paris) – about 2.1 million people.\n- Paris metropolitan area (the urban area, “aire urbaine”) – about 12 million people.\n- Île-de-France region (greater Paris region) – around 12–13 million people.\n\nIf you specify which measure and a year, I can give a precise figure."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8ed4366ad84eb9f9",
    "trace_id": "24a7e732c30c43d69bd67e75f8d31ad4",
    "parent_span_id": "a732815e2b9decd4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552694.6269,
    "timestamp": 1787552699.5238001,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIP0pGi7Q9lIsbGRrSPAgvDQK6TB",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 779,
      "gen_ai.usage.total_tokens": 860,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "If you mean the Paris metropolitan area (the urban area, or aire urbaine), it has about 12 million inhabitants—roughly 12–12.5 million in recent years. If you instead mean the larger Île-de-France region, the population is a bit higher, around 12–13 million."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Multi-Turn LLM Test (streaming, responses)❗︎ 119476ms
checkAISpanCount(3)
checkChatSpanAttributes
befae7c8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
befae7c8gen_ai.output.messagesMissing output messages attribute
9bcea58cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9bcea58cgen_ai.output.messagesMissing output messages attribute
a3555cecgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a3555cecgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (4)
[
  {
    "span_id": "b12cd27b48cb22a5",
    "trace_id": "eab3b86fc0904880a35eb069d12731c6",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552685.3832,
    "timestamp": 1787552704.2162998,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "befae7c8211ff605",
    "trace_id": "eab3b86fc0904880a35eb069d12731c6",
    "parent_span_id": "b12cd27b48cb22a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552685.3842998,
    "timestamp": 1787552686.5846999,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0b396f2d1de12bd5006a8be3ad894087d0aef4559b54808b0e",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 107,
      "gen_ai.usage.total_tokens": 130,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0b396f2d1de12bd5006a8be3ade64487d08db325397bd95f75\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Ouce4u-aDvlf7xTWeHJOl72WBKtSUBP38kaAtkBmBMJKS7lbrDGmJycQyySo-qmRlPUgMa-jjHByKRcr1IAIoo0FYqdsu0fHHsx2LZfJk757M4yhK-RrBmFfEO29H6uC_vL9gVD9RLs8qpYa_H9u8U2KmK-ZKNuqqSxeeBpQsjinhjfI4CnFpxRI6yYEZd9wYEvVyxLBTUkHfvFfQOzYjtgN11e0pJ9P2BI3N8ME0ZvOA1dC3H5Xx4N8bDIOSgA0JmlJ8WTwjGpPq4ob87PmTn6KSTRtioo8uLuNjzT6yElEOOQzFS0pf-3gj8nQrEwQt40JeaIb0VEx3GtWdSvcbAA795Gb1wut-TFYobzyKNspC9IP5_qg37UWoYsXAIxPppDtcveTwxOe0MCEHHxBrqnxhanUmbvJ3Bm9_lIGRBPvtADbPZsqOf34Mgzi3vLF_vgocf4aDVEu1QqPhpVpr6_aCePt9j-9rcHUHLwozXPplMpixmRF2CH3KSFhiVPDbz3t9j1m4dc1ZfeFqm-8HyHBcXvi10i6MKyg35RdHa3FA_PW00B8O6e3Bv7aMyvh_sNkhagvz3xsdlW8pBdIndbi4aM_JynNTbQ7FEbnhOj1qO5Xgo7ktZVcizQ2cjPKL9FfClLDrOTIRjF3betCnj11EZkpyLeUAmNxTJjJYT6mroPgahT5MQWjIcKaSAL0g_Q9a_dSf3f0YGdgFfeV8tY5BMzCjB8umY26Vhf5Jsf9oplpkmGLfIzvdqf2aq0N_ZurOB3pBj_8xGAC1SSTxg1z7btCxs7Y8Mqeq8c0iec2IYhTxY01p-g88ofiWtPeon38Uxif4cSGdWugjziA4N3J7UCrBez4_uXCNAdScsRUm1zvm6t7BPs9RyfNJLbkYHc9sQjCfbevrPVAWiyHpxaBrmCx9XiofmorqkvbXt4I-wxivkkf6sdAYOxP627uQMx1uWXj-46Esplt1D4dNrnL5SpTg3-uhVd5-yBmywnsDw_q-TT2MDiPzi5dUwOzrWa47QibXJWyCkQe_9wO-_3qPLHnhQmrv22Y9r-L69zj0eSjBScxB9PSkiGdraIBApqqIoLpxS7zySooR84ZOGqIJKupvx1ItE58wj-smCR8ncmoBdv4AUE-ytUPAxQm6-CdjtFmRnrXkbci0fk91BvonWpy0ZgkgaLPwh_pmfT4RfE8zmy9yBiptFLWk_pcLYftx9NoBIEuqwgtoY_JxxcfZ4Nep-CvVKshHHLz1XBt3pRHDBb0XIDaw09cqoHm6Aka9GyXAu-aooHKEFcA9T1Os0XkPWyT_1llmk0Tmj8JZmIpYGyxK4dJmQrI3JU25Jxn24_sWXd3Olbrh9CzT0s7xpaBLyr6VbvsY_qCpodKa5Qy69ObIrUYihgs9f4bOMEipRG5NYFrTstwEtJPL18sTRuwT_471E1rwgPkfUQfYkdf73fUCBE83MVsCbycN--E5GqSBjnUMABvhQIeEtE6CbYbtu1skEe1ZqZJWPuST-V3Skd0bdPpFUiH5NSaOcQd_Hbp34eL2GM2ewjzfoDtO8Nza4regrF9OqT8xc9rcBi9adNTLAPOQWfLVQgNDmKY002dcc7cX40TIGrOVxebFZiZqncJEpkVb79suElb3ueuhoQbBKQN5h9qU8SKNxQs6bGt9Fhkm-R19cTihfJBq9P95gcTiDcGIACwqaq2gZEv2J5tMVzDc7-xeYJIF0FmRsWe0dEM55ktqvDdpByyL5Yj4siiRXtemeFLTQ7-Fq6DpU6F-QjXy6c9Yi5DWY\",\"summary\":[]},{\"id\":\"msg_0b396f2d1de12bd5006a8be3ae556887d0bf9e00b3f67b0e68\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9bcea58c07ff2597",
    "trace_id": "eab3b86fc0904880a35eb069d12731c6",
    "parent_span_id": "b12cd27b48cb22a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552686.5851998,
    "timestamp": 1787552695.7609,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0d0e3fc958f7d192006a8be3aeb80487d0b14836e59ed165fd",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1268,
      "gen_ai.usage.total_tokens": 1316,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris has different population figures depending on definition:\n\n- City proper (the commune of Paris): about 2.1 million residents.\n- Urban area (continuous built-up area, sometimes used for the “Paris metropolitan area”): roughly 11–12 million.\n- Île-de-France region/metropolitan area: about 12–13 million.\n\nIf you want a precise number for a specific year or definition, tell me which one you want and I’ll provide it.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0d0e3fc958f7d192006a8be3af075487d0aff8cc7f4a41b6c6\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-O2qX9S-8Py115XlRuzIUspxej31flJ2VgGAINdkaPDQo-VSkwQ0btxxiYlYzALJa-YSGS-yPvWxVs0UMKgfit5oHONw2_BH8PBNaDGo2dikwIJr8_s8MCQoIfWeb2Rbcv5jPPhmqg3Uv81LGca0IEp7iwMX1BbY1Ltt_q_8uixdkvCYUGLoClPfuREELmAhJ2uuFSCrW97p3Xr7JqNjIcs2YxyreIZlaWlkU9tbAK_EFdvGH8_oH1Zh6PBS3PDDUXwYSKQlLfx5uOv0YIqpyehw2TJopVNsoDYqyqNgcbFXNmPOXgRE0C4nA0lCFl1JSBpXfsQTm9Bzd0CMlm1zvcez0gRLyVflVgWwMuV6yp4PGMLxcsDDnT7JcF3CHSe1HNjN6NqD2w3_SnebXbHKdZJgHfHVYE8Gqc-8SbZ1EH1VDnzN5JujqcRlwEkhHXMXYJg05wl74HaiGdcskYRr2LUoZoRvylRpbEZenRVDCaZ47FTwaQoBx6txFXgsB71G0_CeZmReoXel3bsON330DFvSYH3CoxQpHGeFz3QAOFU9fAycWKHiPRXF9WqDi4acjPdXctbp6lpI22EYX-ACBhguTo--YyP_JjVfMsRz3ijp6D-BC3ibuzsWpUFXpoEJgoBu-UHtC6VkNudtCkCEp5mmqhDYOjoTCUiAETYW9H3iNCRvc8No2CulSGz0KYwEvhmd5atT0ty2KnIdKQFNAWiltPhfvt4D9VHpaIodnRnIXzz8U_qAYxo54oTm0ZofIoiv7a3_PugE4jr0A4jWntbb0-gJW0alG_C0gyGfmXUbDSG0EECN81Z22naqeJrXCLy-JAvvFgKcyGl4hS1iJafEa1_4vFezxpS1qPBKkH6Cci9u6IoFsMgGw9GSTJFhaR9I0ikEltcT_bsRoZABTQdIxWW6qJc39AAd1LgXVZCWyefBRfcCRLAo9RCB6fa6Mznn_PL0Etomif30YcrRZk57jyV-hD5KrvTQtDgI9UuFCbdTfxJYl8udtCODPRcqazPQxeOjru2GJlC91OZFEecdoH8sfMEuwvLswB5vyZTZeHN6CHfS_XUssmCXRI4MBBC5lpCVdUhno7i8iHXuEvo8Sdiwk7UvtvWQ-kdw0pCf7YBEWJkEvBf7UEPUF0IBoWKXzX4k0gT1g1HOvvyCKsaW4qGp_YvlOtZFauIo7Db2V953ss2byifsbvrD2qzlb3-8zW1a6n7Rz6HRodZ2Yo1I4oOG3aMXuKmGptYg1SSo1gX1qrridPCDUqeAR3uLDAmHV0JF3sIhLFNLp1GWGxVdqA-acJhEZpk0KcDo6CUDGw2pcVRU8LJH71hyPIBAQJa6gtkmLR0KDRK2cEt3udGd7tGVurvFULXoo_ntzacnf_CrMiyNMB7hMErRrQmJgPJdkn030apvwW0Rt_p61xDwhBWncyo2WyErNjOdrjd1TbBcVSJNU79xOXhLVgPqfdqn9kRoledEzdmppcR14SUhORqIuqzC9Cz0HKMVLwho8hyG652-_Oxkz8fgVG28di6Ipo2duz3e0GjrrGto7Z9WNbbvJfHWly6dJE_-VM76yuK8Z7xpLPi175YPehA7CCIUr_wQ5MaxYRhB19q9XlKV_Pg4FlMjCbdKdFJuIKhcttjazC3MVcboK1Iu0j1kcdd37-uOPxz9CkWHnTnWhEcg49B8QOVV4h3mcmxD2eRZUarm4dRDTuWfFwgFwMfh0fhPpzYjtCTdY_EFuZ9OCkMeBjHbef_QS2lRrUjRV-J0LKDTQ2iWYSa11YkqsQtm9sEBNNXn_BDdyKh5gYURrzkTkocKKtMrld3sPwZombLZt_kaxQo75XwfKvIgBtIRAo5QzMAmv6GjNPmYTmbIQXEDUZmCDYca7t1kh7WwLPiVd6FycSFHSNIKNwW5QA6JDcy5cr4VnfLHpMUy4OGW4K-17BxzWQRq1Nf2nQ7sWMN84BRmVuruBGXxehPMXN80AFyzPKwjDqsO8P9ZRm117gHkfI2EIi5_juOuE0oor9jTky1hebAysqpPiUVWXRcg67biMIGYqGfzLLSUfesDGTwTrC5NzSxpfYBAml7Z4-FsVRbEHz21Sp20JQQt2mFn7Af7zlLFLB7L9b0RY3AgXVHrlNXB1CZU4jPbetbaqLpc9CBdjTONR30gnJkIElmZYiYoDVMkDkPs8XwlzeTli4K4eJ9WtSg5Sc4Rv-Fj1BIByTVE04MCSxh-PK5E6QY2Ax-sL0ln4vNMUCDnPL52-gJhwS1q5KBQsLprSe1fnnj43XMLplA-wkSmr2BuO3RtG5j0y3OpbxTYy_oONyGCHSjAG8Sp-0eLqTgX5HBKE8wlh0ulUlgoPJVo5EgA7cPkmNdgUyyCjnBRzVKn2kiaoxesuFjDAlTouR-9ZEgPVJKL6WzaDtylmBY3BxFbeZsNbNJS1KEr2DyyFnsehw9OTLySKDVME9gvZn2hSuamwCa-db-glKKWQ1FYxpd7mg4XQyKGKVxTgd0TmTp7ZR8x-n9udmpp1ffySKohQXJdj4xjFbC6pTr9XFSQIoiMdMzyLHyuk_bIzcDZEI9OJ86NVk5F9g3dsiRXP9F6YDsiU4pWjcR9z8p0NOTFIOa98nMT_kgeM8zWNaYX2rQau23Ej4U-mFLMzhPo-Y5VtUiXrOpmpyuKNtNs8l8HKBl6ORRoK7J-hEitSI8F-YOUwagGeBgAJNKzze_7GQTlnHVhWu9Y8TuU2HCEErroFMCcLoSlzauTjN6fe1Piti5ui_XVed4_3DzO7Ft37NRJg4N0T5Zhg2Z1Qb3WJ05V8YbDLJRsbhx7X15Wv6QBl2rfdo3614SvhqNjvluIB-cTo8DEugTKjlAmWd4Rhe2wHNrDyWkQe58dXNVPJqA2eooTjNVPwoX_BxWxZwDJdmX4VdCJ94RxkZZYyxmgMCHT8IvJd3JLvO967GMsUnLRxuDQ6bFHKu8dkKI8Zg7d7HMV6OriRjT75FvELKvpaNK10_5Rr86rl8Tf6cp-dtPg7vFJnxDbDzm9gy1QJ3rzapdxQQMvsWuTFfbjlcJ4JzQ2V3IcIskDy-IzXX-uZHERjMr_Fya6kdWe-RPGsiqShjYSMX7m_DV8h6m4UnaaMb5RpcQQQhCN9p1WsPIBak7nI-h6HfdSuLCRUEAiL0ItbZvYv6qgPTsmBZMMjiIRlXYB2CpVILesG_Tr4FOHCGOHj94lS7J3cYsrNygO9jI4PTGGiZGBaYkXtBNE-8pIJxRKeF8_YHKnjb2rp--6KUm1wAIonno_JX9kQmj2ZfqLoz5WNtDcU8IUko8w-SxiE4yY1sPI4cpwM9HZyvDG9dj-qA6ZHUQ1tJsSzBOtJsUDve4MJzAcLGGY8a0Uk-hvJFzDP_XkbMSnad-pkoOhZwe8qD4_YbtLM2MwxdfAg1TNxBn2_aaVwO0AKGE6YaEtUET3ImLvO59jYI_aL6wJTwrsBJfGhvzYYn_1VDBKk7t69BfUb9EQBOCsTMTzfqq17k-sqSnJsX3031goTTwfEkWvaf1dtlam3J-0YvoSLFY5eOjScmjYJJrUCFT6tR178bO6oUZPFC34UomVzDS_5IfieKgmUdKenxl8JCXerVGq9w8dmU21j9pJ7KsRmN7C0nPEcakjLAQO2cmtfdO3bbSf94Dt4_o07_TFZaXvUzu9XvwogBw88vqQ6eC6IbLARtjCGakMtwjhWze9SYWiDMJm5aN9CxHN0kEGV6BqM7U75ouhiWAnosf5lk05X1NIJXt4GEbgLFCyVOMGTteGrwkx5ePNEtFi6OC6J6hzwnmuTYn0GdFi5-fTO29JLabItKxTyj-Og3zHE27plMdADpzyQF0ZGUBpkDIOn9PskafZG9Z2cYDp_0BUj6P8YuwvM991SI8386KBFX43EkJvpmqcZ-ZGaG8UQKaEnsqtBPKiNFxoJadJtwFPF8wQpM82VA-5amTtkzVJSwfQO4f_gQld-0MhNg57EXR4JqwBloB-SIV87x7a_dF8J0_r9XR8HTerfebdJeLVoILfj4xgFhzxOIEjm2Rw1aJCGFBFTudqTq-BKnLrpGZTKDyWB4DlSfPEYTKBNgzketdioOdNZF8djkiovKXixD3hAuiP-vqteDXvGx8ko-b_8_ccoCtbaq8m3MP1ipYpH0Ryo4hIw8X0OqTEV4lnSRVSGR5qxkmIPFL_Ns6RVqADe6c_jHrvWbiTxY0y-SuhIGPtJwHeaKLoNTWyF-W3dk1sGle32-dhcjMDNm1VL3CGtCmUyhlOxnUH28LziHbTZpWzBDIsdURWycVRCOB57Gjk8XpCjOFeV-G6eXZxAtm0ap2R38JN7NL6DefqbCOmCZDZY9sglH7LCbcMvmXSP1wthrZpB_b9n72jj1CckQw2Yg0mxh1-httQaYBTcK6o0cUzkUbueLY0wa0VP8oe4mnxckE12AmqYDUOaC3efxxjBNkN-b9Y2lOeIxVDRG2DF6vO_0UQdEEQanqYdj3noMNbPzXWqHG9w6Tr8oPGOi29lxCrNudEhevceoH-sYhHrfz8p2ttziiVDEMxsOgGJGMHa9R0urnOtIdvoJ63FqQir44_AMBowKn4x29EhaQKe5Lrzkz_BYek6Pm1rTSwTocc6UHBOa_VmmYczrLhYKiemTAE1coJNshd3oHTmvpavXaMxO_TqNArW-zkROSvpcZVi27d93g3lsnf4Fki0qh0scvQEIFgnmFhDaGDiOA42cvjIX--Kve2bOidAJ-5F4zMmcw450FNEl4IbRpF_dCXYRK4Shym3O5sYMb_o4ncMBCAi_LrZorNiuqOyUju5kIZ4SOHwfvKRkoKgIVrhfnWIJ1X3oNiO0MhoJptAWTwTEOAk22fDpN9EoWJEwv4AudNhVvFk5sYa_vuhvq6KXlp6Cuqrz2eGbR1fY8pLG9p7CEE0pwuQ8tVYre4ET_umyFOT5NtK-FrmDXKGUER7so3YRIKCcmQfTt8ZM_KCnOl2qyUs-5z8Xioe9qGoQqzFvKAJZCgdgcuAMIoJQW41SVGbfP9k6quDo1yftHdeHyoJ5U7FMtN_Rcp300Z4XJv55fEMgtxFXjZALii5sJt0Wxo_KirNkiLe_BLL0BgFtLP7NVPMpizkmKe3EMuA8ziIWkp3vwl9bm9yamaUgbisvvZHPLch5WYXmwUghnZApSM7nIeQePIP_bg5MnLKq7Xq7cxU-oYlWYWd6pFIf1UDTp_LBCGj_VaiAi74LbyCwjxP0hOeBb86ktT0Xz4qlAyIgL-ovOaqwsy0NTuZzTckvxBpHpa7EBLt3_aKuIed6h1g5UDPwDpevorvZfoNgJglRFCeXNFyDiRht2E-bIKnd70t2zcBSiUQOS_d_9s1uQBDqMdJHa7U13EFR8yMcx-VW5Vp4L62KRB9lddEW4ZQnJb0ulkkJtRfXug2ATK4c5LuB8qPBWIKCMPilwTuIMheUl-79djwSCRIUJJSac60nWtnxWoURLAcnrvYhnTLHM-EZ7AjanwE8p9zMjo7dGQKipuFvEDSQzuhpQgov6bCl96KMftX9_XPau7f5hSAj8IqwEmk6DZQKNcsFWcpYgwX2VNeHo0pLQ4PJt2HWDrGSCgL9SNSutygeOTuaxbZB2Fz6aCTgjpRwF4-lOvTva1DFtt5kKkaLR9Jqh-SKDditDyl2bRI33O7KxQHmrgXgsvP0rXV29HGHXVcuPS__kF9o789M7uUlUxY69oeXoVUWP2pqolxwSr3EtBQ3WdJcYvgVqYcq1gYli5hFg-f-RjIzu8BJXrSJTc47cpzXRrbF2QCQOhCpkiRXXl34C-REeAPpH1I0P9jmzZVjqZ82ZqAC3PuGWreScoR8nONrDGohru7ULdJGjM2j04yoZYZ55u4lnf-tzjXsHdpjC6qMIb_qyQpUiPjxTO53uBT7yMLfCXpc2Us769uMEw2JEbMf0vBDxHkqh347vU7b7GimpCA5VFP9J-XQTqcQspsTG3QAGv3ttWgSJ7FPVv-z2HRJ1vFKt6QRt8secRiuqteWzwWES_2uNJnITftIY_ClqSxES-8xDuetag8_RVbvqOJjxPSlgubQhrcj0vKb77hI3BpbEDWIxAwPR3urjFC7iMMiNdwH5b0VIHXiebJkR43QmIaTu2sc7WOwcEmL050SJFxH2nNIOuwLuggJPVQzW-YWebkjh9P1-ZfDuwJEKRUrR5VMW8J1ltn3uWeUpvVMusQzk84kyOjot2lpTVGp8czClMj6foneCw7Ep1qlMr_8xu0HRp--p9k3l_QbXXOIOFTScQPk5UWL4XUIyldOgqyE6K9PnJdlcqNLxuIkPUO1Vg7OzlyUBDou-4v9I79Xj_ufxiPOA-o_g6eIBkkDlyqSm1VirScLzslTDnRTrlEkv2zQU_GzHPYrj1po5PsCJpILqQUMMF1_4Qu5p6CXva-e4V-yot1XpvVXAFe6O7gRuJU8BSg2bgWEvkPFdhobwzqn8NsLOTkPCHsNTmzc5yO75MSqgECUxXtcA1riIK5Q3blJ6CaeVc3xgAoZ4iS7hUY-mKU0Ui1G7jnS8XpmBJs71YDTTm6p7A7yOeuorhB7tFfGMnUMT7xO0zFfZn0oba3rCxpJCBS0RxqadsiLFx2CwpBot47gawCNtbGVZE1p15IEZokumuS5qKv8Urw-TtZ_fololnarZjIdZ6l29-3-uiywlR0szAsUTDSQTfD9Ep8JKvidZpwK5xBg49I1Frj425Rf5xuZ60lUCGjDwmTrKrQWs8W6JtNKapJr1Ii6WpudSJMeoobSw0dvYvO1Rb-Z_65hwDhsHtP71GSvJUIWJXFWo7LRplfOG2X9lghXc19Eo7HCehOYWH2okw8VMN8OMXDB2zR2bgWQ8ly9Q2-2IRNihUNFQ_iA_UTisDS_JRu3cOWUj9qXDzzJ9eXiZCUJC0Op7DlkqeWKHbVzS6I9ZcMkTwIiSXM1cTcBP_IlIHTsxrW7BUlbRf7vp0csABJ8dctxYBbZWE-9-CHZ9G8QqBYFV7gCPSGsYRdxVjqJaf0IJq2Da4srB8-r3gIMPV-SdN7U06B4Oa4yHmSfCJ2wZjG58b5ruJiVyTn5xA1xiZ9nhyKksyKCG0D3XhCD3ljxBGWDiK2qRH-iBnSQun08un-ehOGDW9xgguEjNvSZfIPPAuHZfAQM6IW_n8-U00CwHRM2xdFggZrdxm5u2Tj4pYYinT10P6OhoiBEcKH_Zy2RiazkYos-OiJudvSHphz1pC-sQH7kyVVaEdKHyPsu6XY9Nt44MDZJGeJmoqYu-UddgF7H6A0kcdEc-3AInLwAJJZtHbNPd55Rar4ljn3vhj-FjOjI3g8WtDbKUmDpAQYDLRX2Qizl9ypgQYEbdgUJ4KIkvG4EsV4i-caGfcVWKD3ancSJcpZ07sWUTDArVdA4VTMxqNkXNnKvU9Sz3pd7fHdhNoS2m9qb-O5rjnHWZnMy8WzEp8J7S_qgUe0eXjUnKJql7jkfNZ1JhyTeKvhJj5FKGHHSohxo5a7RYsEhRRw_kTjo4eO6qrTjG13VLscGJVSpjpBml6cEwZs6KWhmsqQ==\",\"summary\":[]},{\"id\":\"msg_0d0e3fc958f7d192006a8be3b6efc087d09dba6ccd04f11995\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris has different population figures depending on definition:\\n\\n- City proper (the commune of Paris): about 2.1 million residents.\\n- Urban area (continuous built-up area, sometimes used for the “Paris metropolitan area”): roughly 11–12 million.\\n- Île-de-France region/metropolitan area: about 12–13 million.\\n\\nIf you want a precise number for a specific year or definition, tell me which one you want and I’ll provide it.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a3555cec2af12dc6",
    "trace_id": "eab3b86fc0904880a35eb069d12731c6",
    "parent_span_id": "b12cd27b48cb22a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552695.7614,
    "timestamp": 1787552704.2155998,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_08309c7d326effec006a8be3b7ff8087d09248e0798ef8bbc3",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1282,
      "gen_ai.usage.total_tokens": 1363,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "It depends on the definition, but:\n\n- Paris urban area (aire urbaine): roughly 12 million people.\n- Île-de-France region (the wider metropolitan region around Paris): about 12–13 million people.\n\nIf you have a specific year or boundary in mind, I can give a precise figure.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_08309c7d326effec006a8be3b8647c87d09dfb879e15b52eaf\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-O_uW3doKArM6klUSaLxvAgbMAqcyk-RlMpGoZfTCCbRn0b84G8ISawg2b15fp4jTQejwpri0S03LEEG6bpNVJA5WTxaxqEedans1cq9cpNXj4308bqz5pmZEUcRBhXEzWsKmw70sJybaR6bazBCGpccv58wxWeOZtZZ8MAbevYg4I7xrX7nAzmFFYUMXdkflXyEhJ89JmYcWvMg2QQImZd5MoENB4Qf0ikJAPvSCoNRnoMDfiBrBJ0cRt_W4a9GKMt-KUEYBtH3Pjai2bu9qvNVIdy4VZilmrGIi5fmIzZ9IVGpBWEwexUKs1QCp3rYY9o0o8mfArZR1gCs3KIGWT3vTTQPwPcLQ8wwIyVqGLbvRUXhJq_yWTQKYrFtgV0drvxJJfF1x-g7N2RxmcJlvptSk2lL9YA-_SV9LYedzCEAZDxos4KoAwTPhTSYBp--sCcre-Qil1QcXboe0UObd1wPxgD6fmVg3AEXYBUGaSpfsl1gOeVHBmLzqlXbh-7JRrfbbskRd5Ee4syM_Vhdb3Kbta1oq8rh0Yuv1o-ZywlZLewyS16kP9LG3YmOB9fe1Ws3v9dGLjLsYGhA4VaamOjZsHSF0VmJWDHiEqDnEdhzBhIojzNGs-reTbi6TJq1t1CdxE46cCaEIupyL-bdGkDq-Yy_SxRbo3pgH9n9LCcTcnZYBieEAEv-ka9WyP6_VYGJ5Q6-ogn0oa54-55h0OnJpdapOgWeJ0vzgQHttXAKD3ixSnHADJWRVnoj7rv8G6Vdw4pcg131ZZnsvRR4FS_QAfg-qtCItL7yJ3X0-8HpKdlTQnNvcxGIhPtSZ6d1d1tRuDFehSVPJ6n_CPhTrVWINs_5xF3p_6w9V4l12XRmrpbtKbsrqvG6_ac6g_x7RXSlkGafMBt_Z5B3m9m0WT2eLB1wiRkN0o1xrYrws5p-gv2VnbMvOfDubDToVIR9JXYufdzNHOP6qiiSNVzVAMCLF9laBnWeKz8QKrxOtPVasWTjry-mM7z2_zbC9H7oou3Lz1eA-dRtvY_HqTSTnrtPQTO4Up5KMkRp5yUa6WDhzCP8iv3RPUecfPkB3t194e6EoNH6-jmCf2H-6qAONf3jSt3d_apFZaqeDMnyCcKHm1cfVBAnSg5_WRDcOUFCDR0n9c-wDvPdlbUS2hA9lH6CVz8DX3f19UF-OXyvlLTxiyCW4GjTgJGM0hLGljZUYtNRIBzEKJODNoBBKlHhG7SmukWM9c2DUmDKfCVeLs1WiF7vrlRs1VnAQ7wCSzGi9is9I6If9Z7ohK0KEU4Z6YNRpp2ChqrNug0Ojw3OexmGzf361P9bX7lF1UO_iWSDiid3UwNCx-1H7N-ReY8kd3B0MQC2zTFNl0b0hIwAdZ9EApjV5jW1PdlTgHGav3uuMGrPYDDXjdW7dw7_8_fCqxCXRIgAsgFmj11p0UveHBDoZ5C9kBwmJFPruhnD72sGPFHE5qTacdHdcY6vyc_NeHrxkcKVTiXzTe0irrT59zs0LKDO6pQs3DnJtqWmrVFEVcIQ8bcti154cCTwYBB13UnmmdUE_QyxbCNXnco-0Z8sbYsvXoand2QKfWe0BUkNhzk709yXidrRgINbuSf15ojNZg7BALJgfZOgDFSkJynIaGZFdF8SHC2jqUbqcrk0Sr8Sm93BLMehGR6XrMaa2LkQE0p6vWJ2lBedK7U6XAdcZ7ODn0QhIagLUozZIpmseSxSrp_UoGmO5VVLUQg7OFOqGUEsrqIWN3pDRvLZrFcXURj0t0SOUbLMYaNBL9pw_wsdB6VCH4ycqfpE6aqd8ez2PwWXX0ulv3JJGgS_QoYPE4-3h57myEKg4ArFMukeBojks8JNG6TCxQHrRGE503aTnWRIuZmVYL0ZPXuAEk8HH7HuOOJwjHxZO1MO0B9o3XA0qLWqKESOsJY_vn2Afn5dixyrWLG4fYBGjdmsRub-hELeX5j069_Pug7g3I0a87_IEX2XzcPclG2a2LMvzwovsXYugkOi4CaLX3fAjxN-E0mrQzjE0H48NfWX6OFR8pQD_c3jh23avP8dSdswY34kvIu3O4-5BWGxjn2RTjOiJTGebZL8U5GY99ZBfQOkDiyEV3GBE-1Gss2VaNCLq0GCAANH8uQM5OvatqKE7IRHEAlsCiektI6akcETSP2Wu8i1LTmxAJHfXu8NYb5ea9A2XGiStPs8Tvrxu6EWmpGHkqwN5PbqYJV6paz-I33r0-kyc1QcHjOAMQ5PHf5gDVtd1ifFwZCA8SE5-In9Cgv751V36KDlLYOUEOhyK31d4gqt3sRi6EXDpT0yG0DEKW2J23TWjLQMhpiRHGXZEcHYz0hDyg71eOc6jMeo1BYPrD3OZfWiPHwgTMOdbBDRO1BJuM02nYJGT6NNXNQ3aNyAM9lAFTzClky6XngxwevADTzN8l90nmpj-baVHRYkU1WkuxBKaSRlfgtFW1KnyENFmD73UKdLvLe5TSGKGPWuGNss28OBCDB22AmdJn908Bz5Mj21l3CLdGo5vZSVnfnjHtl8s5OvrrWUiUENPMd77Tehu7xWok6_qt16Nf-PY3DeFAO6y-dcokUpEssiYgMJtIcjv0fbU8vv8xiOlia43Kl2XKvjlHnwmvfvfcwWzxJ_EE_GasioXxU9IhRNlLTYwBo3ZnNswctQE7F2mBUDAxnp3-2lLDEfJus9ruNF9dthhkwZp4DKE096c_oVoPkKoVXJQm-IpH_nCpJ4PCMPHG0s63ejObBXboDC2MmXGlz1kXz3Uw8Q872q0tsUG3dzR-bq8W4a09zi9hrhUlxLTXPn_EIINxECx4PvKLNxHPyqKyK72CAXG0j_HkvNPx9ovnBxIF3aFDvnb1sYsJfZvcn5CWuD73Uu6_shhUTkochcERzPAGjVWMGEi5xwT0Scg17E_vJNcOIuTC2H3d88fPfGJjQ-eulkUapiu6m5wEQUcgL4FnITNuas3E2uLE3GZyavGwUZzm_xZc325Z_HgXBId-bOng1c9FCm0OvzI9bCVUtfdGuQR7TKn1QrNoOyBXi20-XaXMfoQXGDroUJO9T_gZhDw59IbpKAl0xwO6hQJgwH74uJp9tvsuJZHhSSfUsboUm0Q35SGR6XQdCM-twqAR5FBYB_VukLXoizFBK1z8bHXaDCLwoDdmiTQ8RxNts4BH01t9mnF1_ZmmUPTAG9AitW5bNFaGArW6IG6N-bBki7HZfOnrbeg5JkVGdAg6wmFcGuej1Che4OCNXD5tS5kxNCFvCOZCJTz65EBrwyyHW48eRFNQ8X8VU1P9bfXNxTSSF1RL_1bzLUt9xQzvyCUnZg-MmlCRd6zXUU7E1la_ARWXs9WN0yKoSM4MGkggbtVCsRENzSiXaK6tVke3b7XW6eufxFoXhLyXH79aDDZCa4LFaI7pyaqEil9HfNKmfbgdIQjNOJlgjyk1fCmElhikWSKpZro4D2Sv64HYv95RSnAAGvIaa5Id37bjgIhj2SXCyX40HT8CcjA3LYz6xZeas1lzh8ETaWtjBYjs2V7IFlbFVzt8I_NQ3qIVbQ0amZccRMN9SEHI5LSkyVkCbnLspklf5JFOQkpsrPKRQMYeHlF2e7HCxJWlAvZAkV2dq3bHSVzClex5CVjayK9i6yNg8eGLM12zpkSWDadnxvFw0F242crXp4HINte-_XskUjJQet2X8TXKw573mvbQ1taFepHQ-avhuG1mpxl2y2ZQJbsEztAQR5RQqrXGt1o8PT1j_VovbcoWzbadbA5yXUx-ng8ZGDq4lpGsoSdJL71mLil12hCuVOdroMDTjzDY21mJhYiZZ4Gu8YqxEQyc2u9J-pouHGWxy096qUMAJraVnkOAMusbhpu6yTp69Cgo-CrzHq8WWJjFZcFzr7bHOOJJqlJozzjwiChPMBloiY6h9WKk_6D0GUYOsP860wbTLPgJmjl4SqyUofX1AqSkU-Hq2-7e6M_rNyQ_0GpBQbsPw--e5M03WQ5tVJdMgbDwdHblA1JRb_NSTPgVCA_Kr5LA8hMacAfEQDcjyXjokd16weMW6u8jZ0AXhYCVldB6JH5m8_xYYab0NsAX2f-lfMoJooLnZ4GDni0_0FpXsfZCDnKtZA3mezQ-Tt7maiOCmDLXCO8ePOh_OKsibqBPwcobiJw1AsCAm82eaQsCKsgrCYRjhNhxWtDKUOUuyJPFBsbnL_UDY5v1XSYIlZeeLYSxxspR8Bcho38aMGstGLGsgD3u6FHHAqy2-RwvX-kWItSKKby_x9GKO88iJ7hqsIMElxer3_qwopP9gjo6bRmy-Y_FsmH4YAYPR9Idd4xsIjp0tu43b3oX9ga1cfIkPxHZHpntswugUP31IqOVZtPSPmW3cM7ddY0ux77uHtS8Qho2iu81BFZnViwSwim0mpY74mDjnuuWQlRgzSCsoat5g1NgBp-v6Sygb8QzxsGC_Mq7vSmfzMBp61G88V0xlUHSl90vMB1PEeVJAV8Atho4_e1GsKRw2kqS8aEBI-iYppZaDwZwgx-lYwSOuiI02AkdzwM-B8_CU6mSwqqjF3E6aiY16O168yy2kpQTPRL4TXVSjMHWUq-uAQ_q8TLB8ahK5th2uew7vOfxLNYFirTSKiO2yyl-RBduyoqzs7hcBgg5CpUN4a8GRMG2vjC2zWX4O_WXz8aydx78xCq4-Wi3P93YSCbguAipiL2SPfyyh91ZEkMxt3tiJDhf0Q1ao7u22HnZkPFRlfQ66ubtKPEPLYyROl_GlrSgEF31qp-hMsEtOjHa-gc3J0PtJXbH_4AAfEEMH8x3ayoLjYRYuxZegzWeEC8r-D8_rIuDSe7m6eMhXdJMiRQv2-JqWj5CzYgFeKtjsioG89SM00JcXxCY7Jiwbas2vi0kBuBaQDo20qHvpAzLzHwe_3NslmsM7B1TRTqbS3uU7azW1yZUJsi-5Qyr7tKRQxclPxvZwnX4sxgv6Uht_B409sriXTkDRcCDLBbpzCXlvOIEyWN_XBf4hj3VPAUGZQWctVx7Fe3UKd4pSxg-1R5WOek9tA74BBszlTZjmn0-nafeBvuiry8H_uqU6htmcWmdeyuaWRyorVnfg9J84uF0IhMlb_PFSHYbbvOlqIS1zYK8JabZNjsdaajdXOl08dtYVD__mfiZq1Ega-wLrRzAKHD11GCqZjuEplVoyeqRnP4JV6cslKk2aRyspq6HHnRo6VNKu59DK5Z8IwkID0i1MK6adRneM8IBZE21oYbZ8RoBYqibe2wJijM9yPqGZXqDZIc2lOwFJtySeQFdtZcHUnEZhzxPOtVtXl-k19DYhuLng35V2bK1vzABWE4PiL7-PVM8Z-HJeYLR6_g5XfsNvL6AuUitgQIhMQqfdvKgXLsgZB6VHImOF5c_B6SH6V5PXQ0-RQEOb2HC10Eo9rxbe52gDCbKB4vcFOYtgcoYM8C6WkEhYCz224h80l1jc-Zkezx7lAdRbYPZ5Ryfo4EBXwCT0xrKu_tYp4sWBaW70HoxD-MWUijSE44uioZsoB-plWqgYGDfrCq_-hhPKnycYS424WuidZoRjYMPsc7pyGlxXzZRBR8WXUWYX_aro81Gnr_7Dya_eCvIsrOnNV5DlAUO67MiFOD3SWh_CFpWyRYSbrE1mAIZL7BqTFUICJVpMWV_wYGG53AoW1N67SDsVgt-7ABJMcC8uwF82I_V6Tu1qAdhDEEOhPzqwv-P3SGDZEC8pgNplQKZR-erbVReBo3gxhJDG_6u53O5W7VyNI76TuK0NOZ0D5D6Wz3fXiE-kizwGBiGXrTPEsqh_qwsUxrenvAb_wZxqTPG483D5F-eHld0RDsJNE9hMDeJSXsM7J1Vo-45oMs5QLSO8r60fPgiBELkR8g9GduVvT0yS1ab200BgiLyRwHejUL6TxE7KW5mv0jdZJRSLRWUF9aJrhg_riCCgJg021mITVZOAcQnANqIBndOmbkez9Ver17AVDq5GnGFluJyrTvQuuAORmHcJHHMNjxp8W4vLmcqUbYdaBfe0oMX8HTlWmqGQppRFsc4Qnu7N0MHvLaEK3wfvRBZcSEnXhk7yqb4Oem4DmFG1AA_v8K2_OzPaX3ugXjRNtGtMVmf-ymIFO2MCFn8OtqJck6_Ry1vp3dMbomcSMVibUPIW11y1I2Se7uLaolSC_kQTLw7T6R-bX0ybQSN5MQeePCwxjjjMjKmcMk1vS8XFU2y1Ldi228WipB-m2GH4KfA2wI3DI0V8D-OqsfDO71prGAPJA86KtGyRgeG_L0CW4h28DtnEOapQnADCQZrGNo5O_jaGApNGzszghW_NUkvO5Dm9-tp4VvaLNM6zSfqykmkIoJy4R3O9NNX6HzHqe7LIKA-028nRI1HoCgiMnM9AH-7R3KLy7Z-hSv-m7_V-T8svJRZDhPKJ_b60JcrlXihE4SvbsvlXLAlVj14PLK-ZD84bKOZPnmdCRhukopjkqWcAYtuI0C7vTimWnkCGp9HqzMMPzivZHGiKLu6JPb-VdBWQo40ZgZpFevSW7ka6HBzd7Ms2NhHAwQuH8EobQKptPUKfSIbyjdcTY3Tx_DbDOgEGBmFkSHwlKBWOvtRahj4UgBkgkM4ajowkWY_-5yG1xXS4nY9FjhwrHGQxmAMD0QEDQMO8cMvrNozpG_PyrQLlmPZi_RNiB993PJv03Houv-MPET-_NbStbfqumPmH68y6Mor5SuVH2ufWBX0AxTRTHH4C7kZNk9VMgSRP3vxgnXr8ayZCh1qmxtZ1EUO9yDN7qhhOBreE5pFGxcaTmOQ3H0yrgyoghZNKDSnh-mvzaTsyPT-7z98GqU9nuQm7CfMRX-jmb_yn-dB8WVlHy7E-Y5h6fFQD4zZcNG8iaR-xBQ72IZYwry-9L2NlDkiI1edmqdDxQ0q9v7NRygmxetY-G0FhbEpu469pPsW6e3g07yYxX8BO1fb6JXscViul91L2mKI4_AERqpJ7H27mFPkhGnn5Bhb1EvJmC4OvOhBjnEOQla2_UFz9ZkoI0gwbZv_pQdTHu3RnBNeEi4SvPoKnRmGlztGJq2Dx1qfKlBVIGl-Lgfbmr3M520_3xPqjrdK2TDGBm6K8LLBwcXRIiaYXiVffJlrb-x9jOvuzqSoDae3N_oE2DQ1GYezEVzZVXnBgfQgoOoAXgbcJYiEjQ3NjEsyp-BG5mD1BuAEXc-Fv8NpyPn3mt43SI_e2SXxG-V3YOtSF9z0j8GCmlQtyj0CEnWOie-yjqa-utZ0X6C6A06bMKR13eLMra3WptTiPS3mK3pmAooXNSDlRbvX0IuALCCRIVDH8ljmwrJvRafYRa7-FhFi4-yGWZ5iReaJM3jwBYfFZhvkpmi1hYSVQcvnzzxs9WG_EXTUDO5ujvvGzz9mDMleCz3ImrJBhhT-P1r2IAXfy4CGzLlebfz2ydHipT9VfXyO1NDBoU4ZGsEapP9LKslo-WJZJkH471BIfdslZhcQyt84I_Wms5QE0LUFYtGbt_-HEYu2hITb_M6ftSoSHRi3s1LDuQONhWYu61iNBUgYMkpiAKhgCbT0o4Arpx2MdQo-Pl3ALbiT6lpBUwXHBJAplA0c82nTAUqutxdD5fEDqj5d8DEoastlkZxBLvSnq_JqIw_veAot2U8dlbLVqYCsIwcAw-7arZB6nyQFpvEEvNs30fdWi_yfIKWGvA4GxAk2LISP_IBdGdVmCfRBX7qy_ILIlS8JjZXkjD-0rMc-IhPdtwO91mAG5bLZUVlDLqCh48mwZ_ud0CwHv7ifLFU1-fZbvwfpBn1CFI7AuGZFSgXnRadw9hyNmgOCwlTgQNZB2EeLnsqmMktL1TelqXddjbPirISamcHKwdW_5yF5jQNvfitj4ln2oQ9GdGw==\",\"summary\":[]},{\"id\":\"msg_08309c7d326effec006a8be3bf281087d0b796ce6126c6a6fe\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"It depends on the definition, but:\\n\\n- Paris urban area (aire urbaine): roughly 12 million people.\\n- Île-de-France region (the wider metropolitan region around Paris): about 12–13 million people.\\n\\nIf you have a specific year or boundary in mind, I can give a precise figure.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Multi-Turn LLM Test (blocking, chat)❗︎ 117338ms
checkAISpanCount(3)
checkChatSpanAttributes
8907e403gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8907e403gen_ai.output.messagesMissing output messages attribute
ad8c810dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad8c810dgen_ai.output.messagesMissing output messages attribute
b1cbc4e6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1cbc4e6gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "span_id": "a5888a523a0a0043",
    "trace_id": "66689bf11da04fb18a0e80e6b39e62d9",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552685.4604,
    "timestamp": 1787552702.1671999,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "8907e40395cf5a18",
    "trace_id": "66689bf11da04fb18a0e80e6b39e62d9",
    "parent_span_id": "a5888a523a0a0043",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552685.4615,
    "timestamp": 1787552686.8543,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIOrRdvpv8wK4gBx7TxSuu126Ne5",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ad8c810d9119c0b6",
    "trace_id": "66689bf11da04fb18a0e80e6b39e62d9",
    "parent_span_id": "a5888a523a0a0043",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552686.8549001,
    "timestamp": 1787552693.9796002,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIOtt5PAbwojdEg7gQxnJAN57t7w",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1240,
      "gen_ai.usage.total_tokens": 1288,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Do you mean:\\n- Paris city proper (the commune): about 2.1 million people.\\n- The wider Paris metropolitan area / Île-de-France urban area: about 12 million people.\\n\\nPopulation figures depend on definitions (city proper vs. metro vs. urban area) and the year. If you’d like, I can pull the latest precise numbers for a specific definition and year.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b1cbc4e6bb9ad047",
    "trace_id": "66689bf11da04fb18a0e80e6b39e62d9",
    "parent_span_id": "a5888a523a0a0043",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552693.9802,
    "timestamp": 1787552702.1665,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "chatcmpl-EGIP0MFK1SJhTF94428zMnTZnoDtD",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1582,
      "gen_ai.usage.total_tokens": 1663,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The Paris metropolitan area is much larger than the city itself. By common definitions, the Paris urban area (aire urbaine) has about 12 to 13 million inhabitants today. Exact figures vary by year and by whether you use the “aire urbaine” (urban area) or “unité urbaine” definitions.\\n\\nIf you’d like, I can pull a precise latest figure from INSEE for a specific definition (aire urbaine vs unité urbaine) and year.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Multi-Turn LLM Test (blocking, responses)❗︎ 118199ms
checkAISpanCount(3)
checkChatSpanAttributes
a85ea091gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a85ea091gen_ai.output.messagesMissing output messages attribute
8c45b45egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c45b45egen_ai.output.messagesMissing output messages attribute
9b54fca7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b54fca7gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "span_id": "bde472de012f9a69",
    "trace_id": "dab9f0bc5910499fb1c4b75d746efa43",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552685.5579,
    "timestamp": 1787552703.1402,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "a85ea091b4a0b823",
    "trace_id": "dab9f0bc5910499fb1c4b75d746efa43",
    "parent_span_id": "bde472de012f9a69",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552685.5591002,
    "timestamp": 1787552687.1676002,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_02e5c7beab913fb4006a8be3adb7c087d092048dfe8b41aeef",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 132,
      "gen_ai.usage.total_tokens": 155,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris. Would you like a fun fact about the city?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8c45b45e19571649",
    "trace_id": "dab9f0bc5910499fb1c4b75d746efa43",
    "parent_span_id": "bde472de012f9a69",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552687.1682,
    "timestamp": 1787552693.8205,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_02ccc80eae8aa728006a8be3af50b487d097987013b27025d4",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1037,
      "gen_ai.usage.total_tokens": 1085,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris city proper (the municipality): about 2.1 million people.\n\nParis metropolitan area (Île-de-France): about 12 million people.\n\nIf you want the exact latest figures and the year, I can look up the current estimates. Which one would you like?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9b54fca7945bfde7",
    "trace_id": "dab9f0bc5910499fb1c4b75d746efa43",
    "parent_span_id": "bde472de012f9a69",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552693.8209,
    "timestamp": 1787552703.1397,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "resp_0549ad5edfb8b0ed006a8be3b6005c87d0a42d258748419789",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1733,
      "gen_ai.usage.total_tokens": 1814,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "The population depends on what you mean by “metropolitan area.”\n\n- Paris urban area (aire urbaine): about 12 million people (roughly in the 12–13 million range in recent years).\n- Île-de-France region (administrative region around Paris): about 12–13 million.\n- Métropole du Grand Paris (the inner intercommunal/metropolitan structure): around 7–8 million.\n\nIf you want a precise figure for a specific definition and year, tell me which one and I’ll fetch it."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Vision LLM Test (streaming, chat)❗︎ 1 11312ms
checkChatSpanAttributes
bcba30edgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bcba30edgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bcba30edgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bcba30edgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "b2034996d28d52d7",
    "trace_id": "78fc1cf921c8492f8877ab693d03c339",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552686.6743,
    "timestamp": 1787552687.4036002,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bcba30ed3c736b4c",
    "trace_id": "78fc1cf921c8492f8877ab693d03c339",
    "parent_span_id": "b2034996d28d52d7",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552686.6754003,
    "timestamp": 1787552687.4031,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOss6wvjdsDNvVajJ4r7BucKvIg",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Vision LLM Test (streaming, responses)❗︎ 1 12004ms
checkChatSpanAttributes
beeae62dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
beeae62dgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
beeae62dgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
beeae62dgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "a449c70c9dbaa078",
    "trace_id": "3a76e75a06804295a98bf9c0f5bf267a",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552686.9249,
    "timestamp": 1787552688.3495,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "beeae62d0ce3df44",
    "trace_id": "3a76e75a06804295a98bf9c0f5bf267a",
    "parent_span_id": "a449c70c9dbaa078",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552686.9261,
    "timestamp": 1787552688.3489,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0d1a337222dbd5d4006a8be3af197c87d0821883d0f094de93",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Red",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_0d1a337222dbd5d4006a8be3b01ae087d09c17782e600383cb\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Red\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Vision LLM Test (blocking, chat)❗︎ 1 11183ms
checkChatSpanAttributes
85d9c733gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85d9c733gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
85d9c733gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
85d9c733gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "88a1873bc7fe32e1",
    "trace_id": "8d7885f9f74b49f7a0864e73a535d266",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552687.3411002,
    "timestamp": 1787552687.9438,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "85d9c733572f8b8c",
    "trace_id": "8d7885f9f74b49f7a0864e73a535d266",
    "parent_span_id": "88a1873bc7fe32e1",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552687.3422,
    "timestamp": 1787552687.9433,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIOtytuGLDu9DRfLF7a2X6Cljy9l",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Vision LLM Test (blocking, responses)❗︎ 1 11370ms
checkChatSpanAttributes
bfbd1035gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bfbd1035gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bfbd1035gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bfbd1035gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "b8665778d764d0f5",
    "trace_id": "999cc5d18bed456490d1d08f235534cd",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552687.5568998,
    "timestamp": 1787552688.3323,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bfbd103551815dc3",
    "trace_id": "999cc5d18bed456490d1d08f235534cd",
    "parent_span_id": "b8665778d764d0f5",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552687.558,
    "timestamp": 1787552688.3315,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0e28d9eedc500a63006a8be3afb33887d0b455d8a9c1b96b48",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Long Input LLM Test (streaming, chat)❗︎ 11122ms
checkChatSpanAttributes
96b28fa6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
96b28fa6gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "a0066b2fb98fe5f7",
    "trace_id": "de82845faffc4ed5bff2ef1d0c7b6b21",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552687.9963999,
    "timestamp": 1787552688.5243,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "96b28fa662553713",
    "trace_id": "de82845faffc4ed5bff2ef1d0c7b6b21",
    "parent_span_id": "a0066b2fb98fe5f7",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552687.9978,
    "timestamp": 1787552688.5238998,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOusUDb4EbdVVM3EXgtwaVMfFF5",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "The message is a repeated test phrase intended to create a long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Long Input LLM Test (streaming, responses)❗︎ 12584ms
checkChatSpanAttributes
b593ab1bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b593ab1bgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (2)
[
  {
    "span_id": "bd57560cf2e08b7d",
    "trace_id": "8662a273900142108b3561c306e6ef34",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552688.5258,
    "timestamp": 1787552690.5338001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "b593ab1bc4721857",
    "trace_id": "8662a273900142108b3561c306e6ef34",
    "parent_span_id": "bd57560cf2e08b7d",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552688.5274,
    "timestamp": 1787552690.5333002,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0aefd9a326448677006a8be3b0afac87d0a9420c50071a36c4",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 5444,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "A test message that will be repeatedly used to generate a lengthy input.",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_0aefd9a326448677006a8be3b1ec8087d0a97aae357fd30027\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"A test message that will be repeatedly used to generate a lengthy input.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Long Input LLM Test (blocking, chat)❗︎ 11099ms
checkChatSpanAttributes
aa11c2f0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa11c2f0gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "afc41c44cd3260be",
    "trace_id": "a32c8338009e4941a42a2b1cd5e54c84",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552688.9363,
    "timestamp": 1787552689.4514,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "aa11c2f09a9eee32",
    "trace_id": "a32c8338009e4941a42a2b1cd5e54c84",
    "parent_span_id": "afc41c44cd3260be",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552688.9386,
    "timestamp": 1787552689.4509,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIOvqkXUlWUp59PdXLTHm54QbfFJ",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5446,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"This message is a test that will be repeated multiple times to generate a lengthy input.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Long Input LLM Test (blocking, responses)❗︎ 11431ms
checkChatSpanAttributes
8100a4a9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8100a4a9gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (2)
[
  {
    "span_id": "819e9a0e6a632ee7",
    "trace_id": "250cd6f491bf4dd89a8f2858e9be11b1",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552688.9355,
    "timestamp": 1787552689.7787,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "8100a4a9330fdf86",
    "trace_id": "250cd6f491bf4dd89a8f2858e9be11b1",
    "parent_span_id": "819e9a0e6a632ee7",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552688.937,
    "timestamp": 1787552689.7782001,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0d0aae14595afb17006a8be3b1169c87d0a7d958f7c8f806ec",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 5448,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "This message repeatedly emphasizes its nature as a test input designed to be lengthy through multiple repetitions."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Conversation ID LLM Test (streaming, chat)❗︎ 18101ms
checkAISpanCount(4)
checkChatSpanAttributes
8b6ef3b7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b6ef3b7gen_ai.output.messagesMissing output messages attribute
b8fadb64gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8fadb64gen_ai.output.messagesMissing output messages attribute
a5f8f605gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5f8f605gen_ai.output.messagesMissing output messages attribute
8b11412cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b11412cgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "span_id": "916fd8e06a90bdb3",
    "trace_id": "77158966b99941f7bf9ef09fdd566e5d",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552689.11,
    "timestamp": 1787552696.6207001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "8b6ef3b7d07b8afa",
    "trace_id": "77158966b99941f7bf9ef09fdd566e5d",
    "parent_span_id": "916fd8e06a90bdb3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552689.1113,
    "timestamp": 1787552690.4437003,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOvIXwiaL7Wbycaanrh7eDwA2BD",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b8fadb64a3a0083e",
    "trace_id": "77158966b99941f7bf9ef09fdd566e5d",
    "parent_span_id": "916fd8e06a90bdb3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552690.4443,
    "timestamp": 1787552693.5391002,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOwAmvS3xjEJSBcqXl9DHziOiYJ",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 460,
      "gen_ai.usage.total_tokens": 484,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "4\n\nIn base-10 arithmetic, 2 + 2 = 4. You can see it by counting two objects plus two more objects, or on a number line: start at 2 and move two steps to reach 4. Want to see a couple of quick methods or variations (e.g., in another base)?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5f8f605a2c8a0f3",
    "trace_id": "77158966b99941f7bf9ef09fdd566e5d",
    "parent_span_id": "916fd8e06a90bdb3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552693.5398002,
    "timestamp": 1787552694.8877,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIOz4fJsE13U64prOl3UodHQNugW",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.total_tokens": 188,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8b11412cef722678",
    "trace_id": "77158966b99941f7bf9ef09fdd566e5d",
    "parent_span_id": "916fd8e06a90bdb3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552694.8882003,
    "timestamp": 1787552696.6204002,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIP1bXv8J7yDMZuaUUXGghBGXxQS",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 247,
      "gen_ai.usage.total_tokens": 297,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "3 + 3 = 6.\n\nReason: adding two groups of 3 gives a total of 6. If you like, you can think of it as 3 doubled: 3 × 2 = 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Conversation ID LLM Test (streaming, responses)❗︎ 18634ms
checkAISpanCount(4)
checkChatSpanAttributes
a9a55efcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a9a55efcgen_ai.output.messagesMissing output messages attribute
9eeaad6dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9eeaad6dgen_ai.output.messagesMissing output messages attribute
9006b48dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9006b48dgen_ai.output.messagesMissing output messages attribute
80464fb6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80464fb6gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "span_id": "b61f64007e7d2566",
    "trace_id": "2ce6722fc66944b8ad54665ab1f9446e",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552689.1812,
    "timestamp": 1787552697.2215,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "a9a55efcccf00826",
    "trace_id": "2ce6722fc66944b8ad54665ab1f9446e",
    "parent_span_id": "b61f64007e7d2566",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552689.1825,
    "timestamp": 1787552690.3685,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0efb6c94f6ae12a2006a8be3b1511487d08dd184c65df271f4",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 92,
      "gen_ai.usage.total_tokens": 115,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0efb6c94f6ae12a2006a8be3b1aed487d0a9046783bbdc1d36\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Oy7-Ni2SDelzVsFZoKmEETUdAi4PmZITSc_7rnspiumGnaqW1uIV5ssYs-n6KUUuu7dH30jbD4PCi0_hQwEzMQ0ocTv87XS7CxOhm6kL9VUTsR0jKpIIVq9UPH2N-283DyrWWcXVtinNKEuDbYzGVkuBrNJE49IOeNhYmr5n3raQihw4FFuBwS3QtvyaH4fJZ8VQwD8nijIdlbWj9NpT5uKntgd76BY-ZzTOSDLuxTgDOXwp2W8nmTmyBGnQu1gtnTpDB_RudX6IAy7mv4UhmYnz1lTvIFAzZHjZYeTeT-bEvVEfHgsy_6Gs-ahliUkHeiHvv29nVjb1H4mUW5yblm5f_VjWYa_s3GHYKKv3oa5wmtPogquPH5Xwtrd_xSqu0CkrkvZmf_tq-1nJukXc-ZpTmoczL2OxfWQXgPNh03ALYBdgdOb3P-2L3FEGVkEnrtLBaChj1QEGjwjRVwb1W9u03bXR0SVI2KLRRvMCrpzqpUDddJbK7-uWO7SLd3IOMmLwXu-ZWfKtr-DaaarXXPUQVzoiI2TNHcwhK4bQ1IdtKimuBt0Dn-20Gsk5gX9FIOAqqM3wzj3h3QY0Z-DS4KsGA7Dq2eU3mb7oiF1AeITVsJ0B0l4QjnRE-OmRDfvwcyKwCBcvoyYGcrxl3tyGr2EVMQ9PfKQW5kR_6RC3diJzR-LQ5dTvZdVSj1kvg3iAclH0rZmyYJis6gAggBMBCtxDzDD-YRQ2p81jk3KF-VcqG2pe03kWhrWfIh4yQSWuB6Q1x-6DPQlNHgQ1fNPT-AWa8uRKJ4VV5_Po6yBymlR3OFqYlYrs6mKU7xRik7UfNXkV_JAXiQpOpdyKLJ22KLBC-VNobfFtR4f5OaizY3hFeKH2r1lJq1lF0soEzJ6PhYFoSBseukZC7zgI_ZVkKsyOe_ZWhHZet12kFpQ5OWcdBCOmhA2ZGCijY1_BwgkblcrnTbhxfGwfOus6uTYRve5P8JBnuckHd-fHlbAYC_GdCNAxPPDqw6EFutf31hFKGlgkwWPMk9SqGmAI7zlplYOi6q5zJk_sdh2-iA_F8H5tfQ9UwqEj0Y-y55jSP9JyrmNYGYRJWdSdEv20LqoYtIWJCtH1ln7F8v8sZoPJ3W5X2EZjib3p3b8ng68aRRc8vzmFFgJHTsethO7LdeGc6Mg33rQHx8aesB6GhHUNByV7QUCrNrmNI_yKRVG6C4QoVCH8yRNGDXVH5RolG4JZA2DCPC76Gw1N3i1MXDQJH7qY39vI2vutoesdwd1OwAmbb3DCF5RUYqz6rEeH1ozkxtG0KPWHCW3m3VES4m82UPOXxPyFvrYJF10O3VOtLVvMDdFl9cx8poB81XhpeeFvN8VN9krgqO7zfWjjZUJDG8K9-SImcFUuSavuVz0_9IhtAygfQ_0qG5zppCSdaXT6R3lhdcnwxKnRkoqcwhoLrDJdOn_QCEYL8Dk9A7l6JVTIJLdXV3dbyCXzD3e8R2F6kjPHXWpSkHxJl2WgFo28_rjSbmWQHMkhAkcwp2jrYQ3H4IZfFgCYvOZI_WETB0yCWlg56oHrnC8md1RG6WSqRoqOIC_HMn_KQDNDQosH5-sfvAnOU7dAaAdxOKrCLgIghmmwyoO_hy1RCtl6aaHPgSy9Z_iUroik1JknnVJmsBoEit7zCwgd41y_wl9scKWs5TiQ==\",\"summary\":[]},{\"id\":\"msg_0efb6c94f6ae12a2006a8be3b217b487d08afc3dc96c43b387\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9eeaad6deb603171",
    "trace_id": "2ce6722fc66944b8ad54665ab1f9446e",
    "parent_span_id": "b61f64007e7d2566",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552690.3692,
    "timestamp": 1787552692.8915,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0b5f49dd18f22128006a8be3b293c087d0a394010e50696ce0",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 303,
      "gen_ai.usage.total_tokens": 327,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "4\n\nIf you’d like a quick explanation: adding two groups of two items gives four items in total. Want a related problem to try?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0b5f49dd18f22128006a8be3b2eda487d091b633ebe7e0bea9\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-O0HcMGWuWB7sudz_KLxaqts8eLdqvfqXjaDh1xisN3InGpxkZ4d75XI_ftLYuoGkBTEu5ZBc8-Nv4ecr8ENJ4MRZsn7iFZCn3tbfIZyCz3IrtWkobyZGea0-Ybq2uuzCU6J5fViKtXLMvghYyE4KsVu8uWqI8oyGTbbVh0z027KSbTaIbkh4BWYTNga1CDd9CCAEt_qcQFvcpolk3QYbi2mcBlfb4L1XHIvG1vdXlOOa5dGcWUeggfMYiZrv74vZ86sNpWbuWThZ5fC2ldCp4r5xL59AyMg0HNFPpMF25gLpFzjdCfdf85v5H-MlKivbVllxGX5uzLX28nwJ9tZFb_ZYZoZL-pchH0EH2RL3glLW5XQcqanWpyCd9ol11O0MibWSoHXFWoNr2tm0u42J-kbLcyc1Z4dIWNsSq89KRkKg763uH6Y4_Xh4K9VrnqoZZCjmgz8IIyScwmf3Dw9ABe94bvbz-5CWE7_cyHErZpkOMfb_clRfbRHljQZaC-R-YlHGZeWbsoJ_G1V0NNW6M1sI-Kw1l-jKbyeDck5q16qn7aeD-Ahf8v6J4_ODPsAkX8d2paq0SBiNp6b9cVCu3cN4TmHYDC6f3DyF5mPz2FtpmMMFMr-nLy-g18nv07YXieGP1V0_KsjT0gL5dyYkv9vOnbgh61h5e7JK157rbkZthUE8Zty1g8i6SQg6b9J5V9DyW2NrxmWog83y4-sePUx9cWkgCXGzKHGZFX1Wp-li8_0FZPfPTS2buVDFYg2ehFO2ibQegZhYZo-FWWGAdsmvMctKWKJiMm2ET04BUM-b-rqedDEUAS5w4B_m24_nGvCEvg9SkWqgUaBOnBIpnXaQU5ejciX7mhik78oX3bwYNIj-oKicwIk7QuNu2GS2ygDw_8JBNpRULnGNJ6U7actu4C6HWrd5rWFZg3gsrn8jUyzHNIdNB3lcrsyj8fLPMVunfqxlOwTf8pYD-4xdqkjIhR6Je5hIlJy_1mtLFTUo8kzugu4LaBZgmjuuMmNr9zn5ZqN2qymnVGP8BhnK9y7MyvPubY97Si5rV2a9S7U8ZEueSaxKnPjnfaiFcVHbsjOxttiIhOOX0F7KDkyOkF7V_Af05-Ig-k2soYAzcXCtf53ySHy7_gyMtEsbz7gc4CUOajYAlvIMffmNmvlBaI9vUbc59XmBt4LzrbqmJvpFLupJ4vWY_7hOwLf_NBjoRe7Dkdy4G3mRtZAPRWH-k75E86GcS507FUfFNyWbDb0sSEiwJH0JLfd1t3Jwzfu5wFrN4hgLNh7I3KsI-VKwGLaRsi-PlEeIcGa-vCjS2EouZvd3DTJ8iL5WkV45gvW-DuQq12SPBy2Sf2EDBA1xQ-HZmTlwwU1LD5q1rBm6chPN4a4zU-H7YOEgh_0RTfHxkYED7WB6TgnoSdL3zO3q4Gxt4YsLJj9UguPlggPI13QvLnony6Oc5P5OHy_llxP9RYUBZMVerykUmQW3CE56CDNUl7WzobHlKQfGiYJGYC927TcUxai5vwCdMeqdN2EtDjHd9tkHAPdz75mSPfGqbWAoFsrnh8CPwnQ-ci4_CQuS73oLA-LLnDUEf_fCuW25D_ViGrOpt0AvxRUuG1UIskS1U_7Rb1MNcOS3-3snsd0fv0F2ohnIxCI9Mpev_3Nky6rmTmZ2lmk4KtmzMzFYjUfEsGSKvd0gBRSkmRMjqlOPIgu-TrkHGTe-TQld6dSFGkag__t2xYVIm3sEBlaMz61k7FxBuepBThxg4-4du801bHtueDvU2dbE3unFnR6gf6OdfBfS37BhltM8sDKZmgDujakSxuU6cDII57fIT2PDS6XF06AKG0o4hF6g1XEUH93Q2tnjvLmsITxfPp7ue58kG_Q-7HspuGPV3XETy9hwIbsGQN4M6MfP7e-tfO-SpxbNltUaPzGFQtZ8JLdH6v5zUJD8j4bdMQjtL84l3yYckhZDKPXMzAEMKSkc4aXDbArK5kLNRPzNuh5ZjFYlFK2XzAsigzWhg2_lT9mz1s1W03puNSYGMrTyJhQ5vQN--SbLmBWShyQn5zU7nLfwYWFivhAQNWDQmhGEJBGFrBfWZywt2myMt4U1syYlLuj2R6ZVzi3IMmYJSK5D-4gHyz3SkTZdunxekaxg65vFOSUNjKC5FB64knOF7BL6x6-ZAc9GQ3xKditAirPBKG56l9lgAl3cxf31YKxuZhZ_CgC_nTzk4jQukjA9fdySucsmwE5xfvaAFtjsfiucV6yWYW8SsB193rBFaJ05b9WR3eNq9QBlkLc2dofiIL7bzkfhb4oFkr_vMcUEJqjrMODFhLcYobQXGyRnc_PGbTU8iXU5CBiGldc5reWvSc37yWJfKvTIW7mJc3wZ0n--HoPmzGdcXswoQo8VGceDz1P1DshMtGJ6vr0tTlHQJxi1MFX9mdEbXFZZL0SPX66P3jmjztOHoy6udIB4NnBOT21EcLu5wZ9JeMZsOkRKJOi_tC8zZPFr18kotQdJdPB6fZd1rvWv0uEEicD-eKWGOo6Q0piuw9-RUPRB2h0T6c70vP5AmKawK4sVlH1xqhSdUYk7ohFTu4hevZEU1IjFoGf9NEi7DqEn-0dI_l4rb14bUxIKU-i92R_6xk4fU4dXEttGicJYkmVGXDYmWjzHD55tqSMYcLXnw7YJ-F3bfQAdWOsyW_vSaOLPiJHz7S-lzhK7q0WSw6XoSLPzdVVCrOeUmTghA=\",\"summary\":[]},{\"id\":\"msg_0b5f49dd18f22128006a8be3b47e8487d09a20ad49bdb9a2ea\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"4\\n\\nIf you’d like a quick explanation: adding two groups of two items gives four items in total. Want a related problem to try?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9006b48d75208d8e",
    "trace_id": "2ce6722fc66944b8ad54665ab1f9446e",
    "parent_span_id": "b61f64007e7d2566",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552692.8920999,
    "timestamp": 1787552695.0622997,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0f4ff36f9e952e5e006a8be3b50f8c87d08a42151f922c222c",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 266,
      "gen_ai.usage.total_tokens": 310,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin. Would you like more details about Berlin or Germany?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0f4ff36f9e952e5e006a8be3b5708087d0932baa3818bb6beb\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-O2k187DyfPWE-kWveeepzAmoxs3OPbHOQD_VohI8T7mdP4zZBhm_a9o2uVjnyJGqjtQ44sQZm0Qyrs_wtPoCtoCRpBDvfpGytYL4ASkb1-k7k-BlkCMFKdwAtJLXY6515CZR_ZFxTEl7NtqM_VjySfuc4kE02LDjV0xRHklNx8fneeFfEoG6pFuRu9KJMkQhH3DJBA3MDr6q40BsJuhKAyJ4EW4QUebt4pSDCaA_gwntiTGcZLUfR4gkmcGw2uhFRKxgCz8UjJKfmP3J_Nn6ylkmuMZLxMEx7Ou5a_DU8If9BUpD0yB1A7zb0cexFwo-BGLqmhfo3njTYTmqiwAhoropv5XbdHAyMtESzwFfPs9EXEFlA0xcM8Di07XWNK_I4aROx2M0OlszcOnJihvMy5CIGjBK5ONXA7amS38FNgCzCUz-smz7v4jielSoh5ha7ZPc6XUUHYnUida0_Xkd78BCnBSPSiSUCog3gxnf0itzdBkUkdktYA_itIeuLXr0KJAJ0d-OEBtsQJclFioO9j8iWQdyTbAp72jHfUZTmLMTlVVvmtI9yG-RmtJkIgU6Z_BElYnTQJg_yZQKtU1VdRJdCseDPq6gh--toljRaVBtqVykWweKoekjwhmoY60wQrmV8dsCUSBlQVmdHgyDCmMLB2lM9xjgwrKjIaT1sWVj9XTjkpyncn0zfQ1a3GDBj1zAXwwvULtvk_n-TFo1_1ySzNK_rcXGVrF2H7vQ9rZoN6ljIUUtWnMHx6TFQXt46q5snMySgE2PV8xlr0S3RxOGk0MDQnpTR8htYHcTGrjPCoZV4Ybo-aE-EQltX4SQbs_QX82Ac3raL33TFe3_DEFejdniZs80HPkv2HVGxbn_2bknVcvNpZaxTmE7qO1ygxptIMlc29Te5BDgndOfSeK7b4Bb0pfBiKJXosyKvWxMfJogXG6QhghGYhhaO49Fg2YqCA3txde4ceYHfbdQ6k-LdZ5czMUb3RLB9JVV_JYAT5dMxGW_YwXX4BVz28Ulr-g84ESA2GX0DOhLak_7iWLCscZLlTO0anAJ1Il3bNJBsAgvQLEerPgqur3gW2nnddFVfgmiw55Z3AI-PYK1wni_JHRaBfF-CoX4PSrryazgyUD8-_kzKnMY_TKGRCkQfBvm_Bnj2fzYZjhr0YFBciGxGAe1OBXzEuwn_db7aXqGsvqJXcUrl16jnhaum0bDC7z2CK0gBOPnytwLefRVfyQM4MYNzvsDcmtNee6kN13TxRtByCMHhiFTcHtMqApYAkSjrQwihdqvSIc1ZUrfXz5v2q2VoubtBc1rMsXPSi3QTUjDuBOvL8I07U9XYz5_of6X0n_3WLcX901FHQoGWjuce8ImoXx--8Tm281yi6bp7oHu4AW9gQ74m0ZKFVVrPEOuD9WwHlImXXlGD9xdAhDoCoP2sIB1t6c_VaqzBPEtblLH3SbEmMFA40sjXU6vTwjwZImZLKW2wnD-dhkXDDiSzVxmgVn5bWwkusfu-B3Mw0PEaVGrQWyTC0CRGSW6oPa52-_40xZeyBe12nvcv5kHySXXnqFds0Z_tsjgXRPSEC-SVpUq7NpGpu06ChETfKxttKg_SVVR-xbH-j6EB7n7BP2HRoziNPZhdiMnEUFGa3qrNzeXimC_zX3YZWf-KlwFltkW_tQe4tJheQLycNg8tnWMERvuBAAfMwAh_VzwczfR-z8Vag9MczuxWg7D2JT1WkS6S_5BymHHnem9uurjWX3HewsRUcGLXf73hmQ3XQ2IivrM1-iSrKc57kHmpN-rrHM5PRtjT06jreMThMkuXYhi_3em3qdjtipb1xKy9wWtUxdOnw3Tw6aHISQOC_VZ-Y_oxuudWjwF0_Kj2iF988l-uyAaH0sEcKc9AS90V5eLSGY_sWjUHIXII-gkOrj8vX24ivxZdpp8MGnblbNsJhsHUVWteN_BzO-LWyPKYqu8XkKNTdKPPiPaYQ752gOZ62sxB5_DNEs_eBHCA8GFBjH21KwvCTsUSRPm5Eh4o6E13FfPhkxvp2hB-JoHXzqk3qbGelmvtUEDqCzPnDWu_2mMsGfD1L8CmKcaX2TzVaSdtd7wrkDNE5D6lOST5j2KVeFLtmFAI5ox7TCuA2wXTz_gaKWtVLMv3Dv-7b70cJV6UccpXagLg9ZDhnIV5SGvKQNzLicyug8MmPx_FoKw9-F37yAKVGjjzs8oUbYsnmF7POueJOatZxlJ_FRS3wS1MMwzE6gqxHTzTSUWgIVXld4yQFqzVNtvGB_OFZL5XNIE69ERhxh5uHEUNeEO5M60op2Bulg8HiINS99wCmASZ6K65rzfPI-HooL_7JQuQuXvIHnDhvk5crCZqeJr8llYpurPCKPdpjv9758je0enEC3sVkhbn821nSKPSRa-fQ256kmsQkY8tafGqTmK8aJIDjM1AcnTEO5N2F2pPQ4wNj1Dlk7urIry8caooSOWhswqqbzeHZHKHr-ZzgExmCfwO63hRBN0ml4fbavbUuVd1HS7omgszzWjFPsxl0agRmWm13Gdbj7N08f_CgMIyzJ56PNk4aXGJ165xwsKfkC1Z_KYe9j_WyNHZrpwaIPXpbeb32iOviu3vn1NxrWQpFurCKPvMeS3JXMOWCncMgHvk3JCwz7ldTX4_21Kx4MK2ROlVyey5T48if7wCZcbrekFqFhELQQUDrWr7hCyKDfA==\",\"summary\":[]},{\"id\":\"msg_0f4ff36f9e952e5e006a8be3b6b5b487d08f1a93664fe9fd19\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"The capital of Germany is Berlin. Would you like more details about Berlin or Germany?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80464fb6501eaf5d",
    "trace_id": "2ce6722fc66944b8ad54665ab1f9446e",
    "parent_span_id": "b61f64007e7d2566",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552695.0627997,
    "timestamp": 1787552697.2210999,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0b602ad84086c070006a8be3b734b087d0803aedc80fb71ed8",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 316,
      "gen_ai.usage.total_tokens": 366,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "3 + 3 = 6. If you picture it as 3 objects plus 3 more objects, you have 6 in total. Want a few more practice problems?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0b602ad84086c070006a8be3b79f2087d08b4cbe5bd5d975f0\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-O4o1KYO1vVI4ZzymxyWJZobVnjnmBdA3kKkGuDs9jOHgdQYnaQsu1S0yGIg6OEtTlyoyw_AYb_qxIUaB3kgeoOMAmkZ20TbWZzUK7xwZO-OtCxTQkBSIyL9bkSeAwza7XS1vdvtrdKkOK520qAh_8q7V8fRHlBVK6ur8yL6YpQYQKnStxhTl3wGNHbNlKBM-sw_wIbi0bCEF_WQ67ewv5dJRMl58K--d0PB4j77bUGKgW2AWCi8ov-hOG4WxeJ0POxlp9xvd8WsDERloOeuaGudcyEaaqGxvdtXYBpLQaHo8xK8biiXZnH_Wtfoj8ZdPR9PDPM1ggqgzf5-6C_krfeAR1KOSUdHh90Xujx7hWWgejsxVzrp4uC_X3Q0MNXoJjyi5WamKJE2icrGTnBAkoYrlzHrdEjhNpIdsLnhB4vWgvjq83O72EdVXmwjVewZwfd44VyxRBU50REq9-l0205JPRsGEwVIO3qPEmAE9Esjpl7z_1mNoGH5QXhgwV8hnPjnfmC81PlfLaW-wYD9qZJjctvWj_YAamWsUpaA-9ijIUQvXPOxAgaUGo9tQwnBMD7Yk7xz9vNFka-bQCtB0rb1BaYNsycMQ3rUTpLNnFONvwW2RYGxneA_P_RgmXfULIWYQKD2Fns9IEuRs6uG82yOfLpy8CKCIvCD4xjE3IMh3wG8Jk93IWHde-kZ9-wAfiHKCSX1_2Kdn3Hibw69QiriEAjsiy2B0cvHLX0Bs397b7VKgiTEFECD30C2d2WH1yZSl2TVMaMW-JxsJVKu9LFh4aBBdMR8YPWNrWGg_5uAspNxiayhuKVg4fM48RFIR9Wiz84dxqyzCbLkdzuVmLK-wJcUnJtBrHKEKkAvPRhTv9cVbTb8OyrThvILVAO52nCHUnp7gYJVJiM21PIBJbW2rpKeZwBmZeNnD_BZtLsC5hhtt1ix0X2D3LG-kHtVPNBdNt1seXhuIwkbA1TtFvxnLFlh-mO3-bHcBJ_hMtjSWKy1gdo24HJ2e0DKI80e8v2fjKipkbC_lcjZv--3qet-ZlIE3XjUmrDm3UhG7Afa-ozay09mbI0TS39uAIanFc2_3DmzJs-MC-yqCxhI-dg812DZ84xRZ2dFCq_nmiedF1aBIxDlPYVeq4dcZ5nuNSv-9FU1gvD74eHwNL3K0NheGc5e5ejntYlpD2-lR2PN7LxFLSk9qX_YlKzsUJoQ23E-zSQHLwA6dpWsMayO0xLFdAQmCbgJijlDafbHgt3pqkJi7XgQHwegJ3RZ8mcGF_ba2wgwQhukhTkl7zWiU3yWfQOvtgCNqaXJh6_5jDITd8_Dc50Z7zKOplOrxNIzRLr7itv8e6woJAGY7tDm-ecNDJSDSiPbieL3cb--2zFaSLeypoWO_ZdJESw_6AhdKXI7Pw3ie3I2FBvrTIoa1dB3tE93VS6zh4vsVesypKClacT8NhVMGu3ulVsAL1dv4oV8_rfWzE5YzuTpNuXARTA4nllK8Ns_SF1V9_o4_eU1NGxaL-quAdTNXoGJsbAlpcaNRQgKmGeGPN6W66ivAjtKM6UOGDzVm6sB-L9jv14aRmTSaSRqvORICtPwcNNQKtJeX3dlsVMZr-C8amX2N_4eFzm9H-F0UO1_UjlFOkIFkkp5Zz5Iv8DRwwxAF0ETNHXNQm5pBtWHkk8AWbu0aLve3KJoWpVrvjueefphGX-x6Cc8MqXbIr8LKZjtNPMoS4c1Ayka7OfeIQFQQAiJgLioZSAEayrSzSah0HMUQcbsqK2jFGyoPF529xfBnRcYmMBruw4jJhZv6XnDPoslOx--uWeW8rKmr0bJQTZlijLpgrVBZMCx3q93g5ObP_YmgdmK2-kBKnHc4xZGLS2RQsxk7bNPHtnUrXmGykFNMHWMEGJprvzLm31hzhmMcpDWlhtGy34NQbsF8knEMT4cnXjhKpC8hK8J12VM-TY19zdwIxjggkcGR2XyQDsDRdsw7FuVZ6FX27VRvDunlT0STZ7E-qdbTzxC38T4ly7mehRZQqnBBnVQeKQ2eJiXbMCt_GFSL6piTshKmBxjkkshAJBVv8ABSwzDyPLeOFlMaav5ypJvgLtyy0rjM5gzM52Yw1wqUgIOa-Bgc7kEO1LpOwIEumK8ldtn1JkALUe0VrhdYytttB3EFiGQwATKwPBKIHQvEj2xqXGfQ1Qd0Xg4ZORtnSunIDgUzSryKP5Twxu0VKcbzsG7YJ_tD6jm3MZOXmmmGF57bvsyatUn2pW_fY_Kwop6Obqn6EuAMfpGRJDd7hyU0w3qd4eGR_u5zmTQZWEIBA8FBmk9GhxouHUjJ-3llCjsBpUcjMUI4HqeGxgiMbo5N0I_heArdNjpB_ZmcOY8HuJvXMCWOycFLoyi53nI1dSl4lbEI4Ky3dW5DcvRT7T6fti_41UgJ4ZzRBL1KQCWXxsBq9rwBJ1nuDTcLDgVpWuJxVbbd4wfEyHTVWHBin_5Jk1bkZUQrtuVoi1iipeOTjrYPnh6wQ_tPCQFFUkiWG6rRjMnrHho1nPNfvMvSx0lEEOwCrHClGs-KHW5wlW7U8MWxhVZp3V81NxrXXLdnVg5RBA1B48AczpEhzE4VQ=\",\"summary\":[]},{\"id\":\"msg_0b602ad84086c070006a8be3b8d9c887d0b864f31e262ffb17\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"3 + 3 = 6. If you picture it as 3 objects plus 3 more objects, you have 6 in total. Want a few more practice problems?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Conversation ID LLM Test (blocking, chat)❗︎ 17367ms
checkAISpanCount(4)
checkChatSpanAttributes
bd919576gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd919576gen_ai.output.messagesMissing output messages attribute
9f76e3cfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f76e3cfgen_ai.output.messagesMissing output messages attribute
acdf71cegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
acdf71cegen_ai.output.messagesMissing output messages attribute
9c069a3agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c069a3agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "span_id": "a542dd22704fe1fe",
    "trace_id": "eb670c47031746b49380f5df17775d9c",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552690.0274003,
    "timestamp": 1787552696.817,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "bd91957675c0f85b",
    "trace_id": "eb670c47031746b49380f5df17775d9c",
    "parent_span_id": "a542dd22704fe1fe",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552690.0286999,
    "timestamp": 1787552691.1727,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIOw9agtSMwHZmF2iKs9AEqcF6jQ",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 74,
      "gen_ai.usage.total_tokens": 97,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9f76e3cf67db18bf",
    "trace_id": "eb670c47031746b49380f5df17775d9c",
    "parent_span_id": "a542dd22704fe1fe",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552691.1734002,
    "timestamp": 1787552693.0586998,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIOx8R3dbtmnzh63aF6JUO0qoltu",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 173,
      "gen_ai.usage.total_tokens": 197,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4\\n\\nIn base-10 arithmetic, 2 + 2 = 4. If you’d like, I can show a quick step-by-step or try some similar problems.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "acdf71cecc8c967a",
    "trace_id": "eb670c47031746b49380f5df17775d9c",
    "parent_span_id": "a542dd22704fe1fe",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552693.0593,
    "timestamp": 1787552694.8301,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIOzP0QUDVOfeQVyK7tFoMV6sxQ4",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 218,
      "gen_ai.usage.total_tokens": 262,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin. Would you like more details about Berlin or Germany?\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c069a3a9f7085a2",
    "trace_id": "eb670c47031746b49380f5df17775d9c",
    "parent_span_id": "a542dd22704fe1fe",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552694.8307,
    "timestamp": 1787552696.8168,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIP1MgfF84FZxzfaQscSocHMk5sZ",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 231,
      "gen_ai.usage.total_tokens": 281,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 equals 6. If you’d like, I can show a quick way to see it on a number line or with objects.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
browser/openai :: Conversation ID LLM Test (blocking, responses)❗︎ 18753ms
checkAISpanCount(4)
checkChatSpanAttributes
9062cbb5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9062cbb5gen_ai.output.messagesMissing output messages attribute
81719584gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81719584gen_ai.output.messagesMissing output messages attribute
96254c7cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
96254c7cgen_ai.output.messagesMissing output messages attribute
8602c528gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8602c528gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "span_id": "903263e4b64f4c04",
    "trace_id": "7b64423eb4374a9ba2997170c5b224df",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552690.3617,
    "timestamp": 1787552698.496,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    }
  },
  {
    "span_id": "9062cbb57410b71b",
    "trace_id": "7b64423eb4374a9ba2997170c5b224df",
    "parent_span_id": "903263e4b64f4c04",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552690.363,
    "timestamp": 1787552691.8395,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0b4bf53b3afdca5f006a8be3b2843087d097e504f4b76aa25c",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 180,
      "gen_ai.usage.total_tokens": 203,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "817195843c3412f7",
    "trace_id": "7b64423eb4374a9ba2997170c5b224df",
    "parent_span_id": "903263e4b64f4c04",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552691.8401,
    "timestamp": 1787552694.2476,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0006d1af827fc437006a8be3b3fd4087d0b3978b3bc5d79f46",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 397,
      "gen_ai.usage.total_tokens": 421,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "4\n\nWould you like a quick explanation or a look at how this works in different bases?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "96254c7cd1d77770",
    "trace_id": "7b64423eb4374a9ba2997170c5b224df",
    "parent_span_id": "903263e4b64f4c04",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552694.2482,
    "timestamp": 1787552696.3625,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_0f41e9c86389b132006a8be3b66fd487d080775fb8d96a7b0c",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 216,
      "gen_ai.usage.total_tokens": 260,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8602c528f13e931b",
    "trace_id": "7b64423eb4374a9ba2997170c5b224df",
    "parent_span_id": "903263e4b64f4c04",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552696.3632,
    "timestamp": 1787552698.493,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_06ee90a1eba99a4c006a8be3b88a6087d0a924d60c9d0c2b79",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 260,
      "gen_ai.usage.total_tokens": 310,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "3 + 3 = 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Basic LLM Test (streaming)❗︎ 1⚠︎ 16004ms
checkAISpanCount(1)
checkChatSpanAttributes
86fcdda5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
86fcdda5gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
86fcdda5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "8e41cb6c36f0fdb7",
    "span_id": "adac89143babc9e0",
    "start_timestamp": 1787552692.663,
    "timestamp": 1787552693.527,
    "trace_id": "978bcee619fc4df0b59d641cf5e9e80e",
    "origin": "manual"
  },
  {
    "span_id": "8e41cb6c36f0fdb7",
    "trace_id": "978bcee619fc4df0b59d641cf5e9e80e",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552692.662,
    "timestamp": 1787552693.529,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30689/",
      "url.port": "30689",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30689",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "86fcdda5b4bf97d5",
    "trace_id": "978bcee619fc4df0b59d641cf5e9e80e",
    "parent_span_id": "adac89143babc9e0",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552692.663,
    "timestamp": 1787552693.517,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552692-SnfBbyOEaCJ7746GGx3q",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Basic LLM Test (blocking)❗︎ 1⚠︎ 15770ms
checkAISpanCount(1)
checkChatSpanAttributes
b2031235gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b2031235gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b2031235gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "9658841feff8fee4",
    "span_id": "8ff700ec7fe4d6d2",
    "start_timestamp": 1787552694.279,
    "timestamp": 1787552694.914,
    "trace_id": "6c6c0db78687481ebce9a72bb27377a0",
    "origin": "manual"
  },
  {
    "span_id": "9658841feff8fee4",
    "trace_id": "6c6c0db78687481ebce9a72bb27377a0",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552694.278,
    "timestamp": 1787552694.916,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30690/",
      "url.port": "30690",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30690",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b20312352076977c",
    "trace_id": "6c6c0db78687481ebce9a72bb27377a0",
    "parent_span_id": "8ff700ec7fe4d6d2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552694.279,
    "timestamp": 1787552694.912,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is **Paris**.",
      "gen_ai.response.id": "gen-1787552694-KqzSq1wYDM1pntJ5BSow",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 31
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Multi-Turn LLM Test (streaming)❗︎ 1⚠︎ 110290ms
checkAISpanCount(3)
checkChatSpanAttributes
af791f52gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
af791f52gen_ai.output.messagesMissing output messages attribute
85f5e709gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85f5e709gen_ai.output.messagesMissing output messages attribute
a78596b5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a78596b5gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
af791f52gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
85f5e709gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a78596b5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "a8e11b5851409989",
    "span_id": "bf357c576ae3e623",
    "start_timestamp": 1787552700.752,
    "timestamp": 1787552703.784,
    "trace_id": "5970b747c41543069c7b2b55bb788063",
    "origin": "manual"
  },
  {
    "span_id": "a8e11b5851409989",
    "trace_id": "5970b747c41543069c7b2b55bb788063",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552700.751,
    "timestamp": 1787552703.791,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30691/",
      "url.port": "30691",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30691",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "af791f52b79f7eb8",
    "trace_id": "5970b747c41543069c7b2b55bb788063",
    "parent_span_id": "bf357c576ae3e623",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552700.753,
    "timestamp": 1787552701.42,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552700-pX93YZQ3bnLGRISuEEmO",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "85f5e709fbfe2632",
    "trace_id": "5970b747c41543069c7b2b55bb788063",
    "parent_span_id": "bf357c576ae3e623",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552701.438,
    "timestamp": 1787552702.934,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552701-9pCrfL17kvbAglxe79Yc",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 80,
      "gen_ai.usage.total_tokens": 121,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The population of Paris depends on how you define the city:\n\n- **City proper (Paris municipality)**: Approximately 2.1 million people\n- **Metropolitan area (Île-de-France region)**: Approximately 12 million people\n\nThe city proper figure refers to Paris within its administrative boundaries, while the metropolitan area includes the surrounding suburbs and towns."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a78596b59a409487",
    "trace_id": "5970b747c41543069c7b2b55bb788063",
    "parent_span_id": "bf357c576ae3e623",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552702.94,
    "timestamp": 1787552703.783,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552702-OkfLFrl0xbYm5O1MVTHS",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 37,
      "gen_ai.usage.total_tokens": 108,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Multi-Turn LLM Test (blocking)❗︎ 1⚠︎ 110269ms
checkAISpanCount(3)
checkChatSpanAttributes
8121b522gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8121b522gen_ai.output.messagesMissing output messages attribute
90a6676agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90a6676agen_ai.output.messagesMissing output messages attribute
ad456f65gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad456f65gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8121b522gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
90a6676agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ad456f65gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "a60f08562cb7b8ca",
    "span_id": "a0b4cbe3757f35ce",
    "start_timestamp": 1787552700.624,
    "timestamp": 1787552703.884,
    "trace_id": "f7fbe07065d34c398e197a24e5cc334d",
    "origin": "manual"
  },
  {
    "span_id": "a60f08562cb7b8ca",
    "trace_id": "f7fbe07065d34c398e197a24e5cc334d",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552700.622,
    "timestamp": 1787552703.89,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30692/",
      "url.port": "30692",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30692",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8121b5222fb6b54b",
    "trace_id": "f7fbe07065d34c398e197a24e5cc334d",
    "parent_span_id": "a0b4cbe3757f35ce",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552700.63,
    "timestamp": 1787552701.272,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.id": "gen-1787552700-vV2vVwlvpNjDwXEiGriO",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90a6676afe6d56b2",
    "trace_id": "f7fbe07065d34c398e197a24e5cc334d",
    "parent_span_id": "a0b4cbe3757f35ce",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552701.284,
    "timestamp": 1787552702.899,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "The population of Paris varies depending on how you define the city:\n\n- **City proper (Paris)**: approximately 2.1-2.2 million people\n- **Greater Paris (Île-de-France region)**: approximately 12 million people\n\nThe city proper refers to Paris within its administrative boundaries, while the metropolitan area includes the surrounding suburbs and is much larger. These figures are based on recent data, though exact numbers can vary slightly depending on the source and when the data was collected.",
      "gen_ai.response.id": "gen-1787552701-oyHX5ITzR3beMZn2jlIe",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 108,
      "gen_ai.usage.total_tokens": 149
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ad456f65509f225d",
    "trace_id": "f7fbe07065d34c398e197a24e5cc334d",
    "parent_span_id": "a0b4cbe3757f35ce",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552702.899,
    "timestamp": 1787552703.884,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.response.id": "gen-1787552702-yQV3KwD7K8CqTRzjbcqN",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Vision LLM Test (streaming)❗︎ 1 1⚠︎ 18811ms
checkChatSpanAttributes
aca1cc6cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aca1cc6cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
aca1cc6cgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
aca1cc6cgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
aca1cc6cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "83578d02dfce5f22",
    "span_id": "8bd90ff64008094a",
    "start_timestamp": 1787552702.859,
    "timestamp": 1787552703.704,
    "trace_id": "730ca01256a841ad8c70b4d3a784dec3",
    "origin": "manual"
  },
  {
    "span_id": "83578d02dfce5f22",
    "trace_id": "730ca01256a841ad8c70b4d3a784dec3",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552702.856,
    "timestamp": 1787552703.706,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30695/",
      "url.port": "30695",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30695",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "aca1cc6cf11f76a0",
    "trace_id": "730ca01256a841ad8c70b4d3a784dec3",
    "parent_span_id": "8bd90ff64008094a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552702.86,
    "timestamp": 1787552703.691,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552702-XLb92UTRDcmXHMOD97k7",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "Pink"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Vision LLM Test (blocking)❗︎ 1 1⚠︎ 19028ms
checkChatSpanAttributes
9f562b9bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f562b9bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9f562b9bgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9f562b9bgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
9f562b9bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "991d6d306c521853",
    "span_id": "9c30411c313ee51a",
    "start_timestamp": 1787552703.77,
    "timestamp": 1787552704.533,
    "trace_id": "5a17d03ed61b42cd824d7a6298384d47",
    "origin": "manual"
  },
  {
    "span_id": "991d6d306c521853",
    "trace_id": "5a17d03ed61b42cd824d7a6298384d47",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552703.768,
    "timestamp": 1787552704.535,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30696/",
      "url.port": "30696",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30696",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9f562b9b0e55beed",
    "trace_id": "5a17d03ed61b42cd824d7a6298384d47",
    "parent_span_id": "9c30411c313ee51a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552703.77,
    "timestamp": 1787552704.529,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "Pink",
      "gen_ai.response.id": "gen-1787552703-9pdZs2xkkyKk7Zc6zq0C",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Long Input LLM Test (streaming)❗︎ 1⚠︎ 18658ms
checkChatSpanAttributes
92cdae9dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92cdae9dgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
92cdae9dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "a7ec5d7571f605fa",
    "span_id": "a0b8c0736a1828a6",
    "start_timestamp": 1787552703.988,
    "timestamp": 1787552705.264,
    "trace_id": "34d3b4b4e90e41d4bd8da9411f067061",
    "origin": "manual"
  },
  {
    "span_id": "a7ec5d7571f605fa",
    "trace_id": "34d3b4b4e90e41d4bd8da9411f067061",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552703.987,
    "timestamp": 1787552705.265,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30697/",
      "url.port": "30697",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30697",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "92cdae9df57fdc28",
    "trace_id": "34d3b4b4e90e41d4bd8da9411f067061",
    "parent_span_id": "a0b8c0736a1828a6",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552703.989,
    "timestamp": 1787552705.252,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552704-dLV0dPPAtQPqLLyQnPji",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "A test message is repeated many times to create a lengthy input."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Long Input LLM Test (blocking)❗︎ 1⚠︎ 18878ms
checkChatSpanAttributes
abecb6b5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
abecb6b5gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
abecb6b5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "b80b0640e6a4c27b",
    "span_id": "98f339adffe1ac5a",
    "start_timestamp": 1787552704.313,
    "timestamp": 1787552705.574,
    "trace_id": "81d3519bb3d44170a1f313bca5bb990a",
    "origin": "manual"
  },
  {
    "span_id": "b80b0640e6a4c27b",
    "trace_id": "81d3519bb3d44170a1f313bca5bb990a",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552704.311,
    "timestamp": 1787552705.581,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30698/",
      "url.port": "30698",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30698",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "abecb6b59405b10a",
    "trace_id": "81d3519bb3d44170a1f313bca5bb990a",
    "parent_span_id": "98f339adffe1ac5a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552704.313,
    "timestamp": 1787552705.567,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "This is a test message that has been repeated many times to create a lengthy input.",
      "gen_ai.response.id": "gen-1787552704-Mn4dy35HeMVRVVdlxHwF",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 20,
      "gen_ai.usage.total_tokens": 5446
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Conversation ID LLM Test (streaming)❗︎ 1⚠︎ 111078ms
checkAISpanCount(4)
checkChatSpanAttributes
88dace8dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88dace8dgen_ai.output.messagesMissing output messages attribute
a0e7c1dbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a0e7c1dbgen_ai.output.messagesMissing output messages attribute
946b7c82gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
946b7c82gen_ai.output.messagesMissing output messages attribute
93c4013dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93c4013dgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
88dace8dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a0e7c1dbgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
946b7c82gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
93c4013dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "81a58a997863959a",
    "span_id": "ae7fd343cf418d4b",
    "start_timestamp": 1787552705.945,
    "timestamp": 1787552710.284,
    "trace_id": "436dd30831d6499cba2d086ecabe7eec",
    "origin": "manual"
  },
  {
    "span_id": "81a58a997863959a",
    "trace_id": "436dd30831d6499cba2d086ecabe7eec",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552705.944,
    "timestamp": 1787552710.291,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30699/",
      "url.port": "30699",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30699",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "88dace8d4db739e7",
    "trace_id": "436dd30831d6499cba2d086ecabe7eec",
    "parent_span_id": "ae7fd343cf418d4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552705.946,
    "timestamp": 1787552706.754,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552706-NzuLzXwplKKpDDqREaMg",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a0e7c1db77dabe4d",
    "trace_id": "436dd30831d6499cba2d086ecabe7eec",
    "parent_span_id": "ae7fd343cf418d4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552706.762,
    "timestamp": 1787552707.862,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552706-5X0ba9gAfS2wtQynfGDa",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 63,
      "gen_ai.usage.total_tokens": 86,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most basic addition facts! If you have 2 objects and add 2 more objects, you end up with a total of 4 objects.\n\nIs there anything else you'd like help with?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "946b7c82808c3d08",
    "trace_id": "436dd30831d6499cba2d086ecabe7eec",
    "parent_span_id": "ae7fd343cf418d4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552707.863,
    "timestamp": 1787552709.595,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552707-2oNaOjdgIfwFegIjAwk8",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "93c4013d725b336e",
    "trace_id": "436dd30831d6499cba2d086ecabe7eec",
    "parent_span_id": "ae7fd343cf418d4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552709.6,
    "timestamp": 1787552710.283,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552709-kvRRa0W2LZ1D5lPMNlBZ",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/anthropic :: Conversation ID LLM Test (blocking)❗︎ 1⚠︎ 111802ms
checkAISpanCount(4)
checkChatSpanAttributes
85acf592gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85acf592gen_ai.output.messagesMissing output messages attribute
88a3cfd3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88a3cfd3gen_ai.output.messagesMissing output messages attribute
afb9d725gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
afb9d725gen_ai.output.messagesMissing output messages attribute
8284cd52gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8284cd52gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
85acf592gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
88a3cfd3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
afb9d725gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8284cd52gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "bf1bd92e4c30aa1a",
    "span_id": "ae8e5ffc03e74241",
    "start_timestamp": 1787552706.743,
    "timestamp": 1787552711.958,
    "trace_id": "09f3a72ff3c54a5d9edc2e63da0ec501",
    "origin": "manual"
  },
  {
    "span_id": "bf1bd92e4c30aa1a",
    "trace_id": "09f3a72ff3c54a5d9edc2e63da0ec501",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552706.739,
    "timestamp": 1787552711.966,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30700/",
      "url.port": "30700",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30700",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "85acf592a0d032d1",
    "trace_id": "09f3a72ff3c54a5d9edc2e63da0ec501",
    "parent_span_id": "ae8e5ffc03e74241",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552706.744,
    "timestamp": 1787552707.934,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is **Paris**. It's located in the north-central part of the country along the Seine River and is known for iconic landmarks like the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.",
      "gen_ai.response.id": "gen-1787552706-vNqfzkWJBImlQ26lI0aB",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 54,
      "gen_ai.usage.total_tokens": 74
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "88a3cfd3879c7bc5",
    "trace_id": "09f3a72ff3c54a5d9edc2e63da0ec501",
    "parent_span_id": "ae8e5ffc03e74241",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552707.946,
    "timestamp": 1787552708.869,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most basic addition facts in math. When you combine 2 groups of 2 items, you get 4 items total.",
      "gen_ai.response.id": "gen-1787552707-GvUltwDXv05ZCfKWvfNo",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 48,
      "gen_ai.usage.total_tokens": 71
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "afb9d72597885ebb",
    "trace_id": "09f3a72ff3c54a5d9edc2e63da0ec501",
    "parent_span_id": "ae8e5ffc03e74241",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552708.87,
    "timestamp": 1787552711.116,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.response.id": "gen-1787552708-6dnOTF8e3xF32iBJ5icF",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8284cd528a203b4d",
    "trace_id": "09f3a72ff3c54a5d9edc2e63da0ec501",
    "parent_span_id": "ae8e5ffc03e74241",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552711.117,
    "timestamp": 1787552711.958,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.response.id": "gen-1787552711-UUKLbn6OqyohsKQe30Z3",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Basic LLM Test (streaming)❗︎ 17080ms
checkAISpanCount(1)
checkChatSpanAttributes
bf4f10e1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bf4f10e1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "a8b85a3937c7b91c",
    "span_id": "bce660f338e51736",
    "start_timestamp": 1787552707.498,
    "timestamp": 1787552707.943,
    "trace_id": "f10d91db88f0458eaff0437a9e5ef914",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "bf4f10e1093964d0",
    "span_id": "a41672d1441afa35",
    "start_timestamp": 1787552707.502,
    "status": "ok",
    "timestamp": 1787552707.796,
    "trace_id": "f10d91db88f0458eaff0437a9e5ef914",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "a8b85a3937c7b91c",
    "trace_id": "f10d91db88f0458eaff0437a9e5ef914",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552707.496,
    "timestamp": 1787552707.955,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30701/",
      "url.port": "30701",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30701",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bf4f10e1093964d0",
    "trace_id": "f10d91db88f0458eaff0437a9e5ef914",
    "parent_span_id": "bce660f338e51736",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552707.499,
    "timestamp": 1787552707.927,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "w-OLapzUJNLoqtsPjaqIsAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Basic LLM Test (blocking)❗︎ 17502ms
checkAISpanCount(1)
checkChatSpanAttributes
a50ea424gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a50ea424gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "9449f3a3f4b976fd",
    "span_id": "9b09b804ea6a669f",
    "start_timestamp": 1787552708.412,
    "timestamp": 1787552708.758,
    "trace_id": "739244b0a4014cb99d2ec809cd27fae6",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "a50ea424ed20a653",
    "span_id": "bb0e07389245fbaa",
    "start_timestamp": 1787552708.419,
    "status": "ok",
    "timestamp": 1787552708.74,
    "trace_id": "739244b0a4014cb99d2ec809cd27fae6",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "9449f3a3f4b976fd",
    "trace_id": "739244b0a4014cb99d2ec809cd27fae6",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552708.407,
    "timestamp": 1787552708.768,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30702/",
      "url.port": "30702",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30702",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a50ea424ed20a653",
    "trace_id": "739244b0a4014cb99d2ec809cd27fae6",
    "parent_span_id": "9b09b804ea6a669f",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552708.412,
    "timestamp": 1787552708.748,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Multi-Turn LLM Test (streaming)❗︎ 1 18571ms
checkAISpanCount(3)
checkChatSpanAttributes
bdff9ab1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bdff9ab1gen_ai.output.messagesMissing output messages attribute
95fc786bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95fc786bgen_ai.output.messagesMissing output messages attribute
812c439bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
812c439bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
95fc786bgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
812c439bgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
812c439bgen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "b514dcbb6f83490a",
    "span_id": "9b6c9df98ca23820",
    "start_timestamp": 1787552709.464,
    "timestamp": 1787552710.755,
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "bdff9ab1d20b2fde",
    "span_id": "8b7ae2c8804e7a82",
    "start_timestamp": 1787552709.469,
    "status": "ok",
    "timestamp": 1787552709.814,
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "95fc786ba7c4f6a1",
    "span_id": "b67147d1ceab9d52",
    "start_timestamp": 1787552709.847,
    "status": "ok",
    "timestamp": 1787552710.105,
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "812c439bfd138a11",
    "span_id": "a569029404538a25",
    "start_timestamp": 1787552710.406,
    "status": "ok",
    "timestamp": 1787552710.628,
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "b514dcbb6f83490a",
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552709.461,
    "timestamp": 1787552710.768,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30703/",
      "url.port": "30703",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30703",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bdff9ab1d20b2fde",
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "parent_span_id": "9b6c9df98ca23820",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552709.465,
    "timestamp": 1787552709.833,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "xeOLarGHJYDBqtsPiICH4Q0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "95fc786ba7c4f6a1",
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "parent_span_id": "9b6c9df98ca23820",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552709.843,
    "timestamp": 1787552710.399,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "xeOLas-4N_2qqtsPtN6V8Q0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 107,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The population of Paris is approximately **2.1 million** as of 2023.\n\nIt's important to note that this figure refers to the city proper (the administrative boundaries of Paris). The population of the greater metropolitan area (often called the Paris region or Île-de-France) is significantly larger, around **12.3 million**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "812c439bfd138a11",
    "trace_id": "11aaa97318264b2da6541d2555dae56d",
    "parent_span_id": "9b6c9df98ca23820",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552710.403,
    "timestamp": 1787552710.754,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "xuOLaqblG4y9qtsPiuWeqAE",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 57,
      "gen_ai.usage.total_tokens": 114,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The metropolitan area of Paris, also known as the Île-de-France region, has a much larger population. It's estimated to be around **11-12 million people**.\n\nThis figure includes the city of Paris itself and its surrounding suburbs and commuter towns."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Multi-Turn LLM Test (blocking)❗︎ 1 19824ms
checkAISpanCount(3)
checkChatSpanAttributes
b34956b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b34956b4gen_ai.output.messagesMissing output messages attribute
b7280e2dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7280e2dgen_ai.output.messagesMissing output messages attribute
b9baee25gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b9baee25gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
b7280e2dgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
b9baee25gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
b9baee25gen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "895778f1a8447550",
    "span_id": "96fa9c26f965f6f6",
    "start_timestamp": 1787552712.259,
    "timestamp": 1787552713.489,
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b34956b421615e8b",
    "span_id": "92e836aaf1efe576",
    "start_timestamp": 1787552712.264,
    "status": "ok",
    "timestamp": 1787552712.547,
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b7280e2dcea4c01e",
    "span_id": "8793b10ff21d659d",
    "start_timestamp": 1787552712.569,
    "status": "ok",
    "timestamp": 1787552713.065,
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b9baee253e916a57",
    "span_id": "bad6c844b8cc0a0f",
    "start_timestamp": 1787552713.066,
    "status": "ok",
    "timestamp": 1787552713.488,
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "895778f1a8447550",
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552712.256,
    "timestamp": 1787552713.5,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30704/",
      "url.port": "30704",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30704",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b34956b421615e8b",
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "parent_span_id": "96fa9c26f965f6f6",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552712.26,
    "timestamp": 1787552712.549,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7280e2dcea4c01e",
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "parent_span_id": "96fa9c26f965f6f6",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552712.563,
    "timestamp": 1787552713.065,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 60,
      "gen_ai.usage.total_tokens": 92,
      "gen_ai.response.text": "The population of Paris is approximately **2.1 million people** as of recent estimates.\n\nIt's worth noting that this figure usually refers to the city proper (Ville de Paris). The population of the larger Paris metropolitan area is significantly higher, often cited as over 10 million people."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b9baee253e916a57",
    "trace_id": "4cc49f5dc0984a37aa3702dad6f9487a",
    "parent_span_id": "96fa9c26f965f6f6",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552713.066,
    "timestamp": 1787552713.488,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 36,
      "gen_ai.usage.total_tokens": 93,
      "gen_ai.response.text": "The population of the Paris metropolitan area is much larger, estimated to be around **13 million people**. This includes the city of Paris itself and its surrounding suburbs and commuter towns."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Vision LLM Test (streaming)❗︎ 1 19862ms
checkChatSpanAttributes
9668236cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9668236cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9668236cgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9668236cgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "be61f7b1efdfd44d",
    "span_id": "acc3f44e81b9ecda",
    "start_timestamp": 1787552713.909,
    "timestamp": 1787552714.401,
    "trace_id": "a994e7f5625345d78ebaa20ae47403e3",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "9668236cd0a48d44",
    "span_id": "a70b3f3c68800eab",
    "start_timestamp": 1787552713.917,
    "status": "ok",
    "timestamp": 1787552714.383,
    "trace_id": "a994e7f5625345d78ebaa20ae47403e3",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "be61f7b1efdfd44d",
    "trace_id": "a994e7f5625345d78ebaa20ae47403e3",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552713.904,
    "timestamp": 1787552714.405,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30707/",
      "url.port": "30707",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30707",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9668236cd0a48d44",
    "trace_id": "a994e7f5625345d78ebaa20ae47403e3",
    "parent_span_id": "acc3f44e81b9ecda",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552713.91,
    "timestamp": 1787552714.393,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "yeOLauyBPealqtsP6Mq5-AU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Vision LLM Test (blocking)❗︎ 1 19661ms
checkChatSpanAttributes
b576529agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b576529agen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b576529agen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b576529agen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "8100bb6f9cddabeb",
    "span_id": "8bcdb11b84e7ad38",
    "start_timestamp": 1787552714.124,
    "timestamp": 1787552714.919,
    "trace_id": "42fcce81283b4ce9b749d3ae51b10299",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b576529ab3b0e55e",
    "span_id": "80aa6f27e9cfa421",
    "start_timestamp": 1787552714.129,
    "status": "ok",
    "timestamp": 1787552714.903,
    "trace_id": "42fcce81283b4ce9b749d3ae51b10299",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "8100bb6f9cddabeb",
    "trace_id": "42fcce81283b4ce9b749d3ae51b10299",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552714.122,
    "timestamp": 1787552714.93,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30708/",
      "url.port": "30708",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30708",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b576529ab3b0e55e",
    "trace_id": "42fcce81283b4ce9b749d3ae51b10299",
    "parent_span_id": "8bcdb11b84e7ad38",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552714.125,
    "timestamp": 1787552714.909,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Long Input LLM Test (streaming)❗︎ 18889ms
checkChatSpanAttributes
89aced1dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89aced1dgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "833f789e1b4483d9",
    "span_id": "92aeee42ef70814e",
    "start_timestamp": 1787552714.096,
    "timestamp": 1787552714.453,
    "trace_id": "78e27a06f81e492fbadca2f298d0b828",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "89aced1d29ca5e86",
    "span_id": "88e171a40f031e08",
    "start_timestamp": 1787552714.1,
    "status": "ok",
    "timestamp": 1787552714.371,
    "trace_id": "78e27a06f81e492fbadca2f298d0b828",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "833f789e1b4483d9",
    "trace_id": "78e27a06f81e492fbadca2f298d0b828",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552714.094,
    "timestamp": 1787552714.463,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30709/",
      "url.port": "30709",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30709",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "89aced1d29ca5e86",
    "trace_id": "78e27a06f81e492fbadca2f298d0b828",
    "parent_span_id": "92aeee42ef70814e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552714.097,
    "timestamp": 1787552714.444,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "yuOLar6qC4-iqtsPnt-HuA0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5435,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The provided text is a repeated test message, intended to create a long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Long Input LLM Test (blocking)❗︎ 19367ms
checkChatSpanAttributes
b74cea01gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b74cea01gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "a8318a97c1352cd9",
    "span_id": "b988be000247f5fe",
    "start_timestamp": 1787552716.888,
    "timestamp": 1787552717.2,
    "trace_id": "d5074e1d49894d70822cef9b692fb1d2",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b74cea016bf134c5",
    "span_id": "8e8df15eb89ac954",
    "start_timestamp": 1787552716.897,
    "status": "ok",
    "timestamp": 1787552717.182,
    "trace_id": "d5074e1d49894d70822cef9b692fb1d2",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "a8318a97c1352cd9",
    "trace_id": "d5074e1d49894d70822cef9b692fb1d2",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552716.884,
    "timestamp": 1787552717.323,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30710/",
      "url.port": "30710",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30710",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b74cea016bf134c5",
    "trace_id": "d5074e1d49894d70822cef9b692fb1d2",
    "parent_span_id": "b988be000247f5fe",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552716.889,
    "timestamp": 1787552717.184,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.text": "This is a test message that has been repeated many times to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Conversation ID LLM Test (streaming)❗︎ 1 19694ms
checkAISpanCount(4)
checkChatSpanAttributes
bfec44b9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bfec44b9gen_ai.output.messagesMissing output messages attribute
a722a656gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a722a656gen_ai.output.messagesMissing output messages attribute
ba63b130gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba63b130gen_ai.output.messagesMissing output messages attribute
94dae4dcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94dae4dcgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
ba63b130gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
94dae4dcgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "89ca793dcb09f9db",
    "span_id": "8ffc8c8b5aa75287",
    "start_timestamp": 1787552717.375,
    "timestamp": 1787552718.435,
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "bfec44b981ad8a72",
    "span_id": "919c0f932b476b67",
    "start_timestamp": 1787552717.389,
    "status": "ok",
    "timestamp": 1787552717.627,
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "a722a6568d2344a8",
    "span_id": "b4eadefcb03f6562",
    "start_timestamp": 1787552717.662,
    "status": "ok",
    "timestamp": 1787552717.898,
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "ba63b1306983baf6",
    "span_id": "a83895e6c763ff42",
    "start_timestamp": 1787552717.936,
    "status": "ok",
    "timestamp": 1787552718.172,
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "server.address": "generativelanguage.googleapis.com",
      "http.query": "?alt=sse",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "94dae4dcb106aeb1",
    "span_id": "8464f1b76fd79632",
    "start_timestamp": 1787552718.198,
    "status": "ok",
    "timestamp": 1787552718.419,
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "89ca793dcb09f9db",
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552717.37,
    "timestamp": 1787552718.438,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30711/",
      "url.port": "30711",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30711",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bfec44b981ad8a72",
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "parent_span_id": "8ffc8c8b5aa75287",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.376,
    "timestamp": 1787552717.644,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "zeOLap6mHIqnqtsPnc2hiQY",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a722a6568d2344a8",
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "parent_span_id": "8ffc8c8b5aa75287",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.662,
    "timestamp": 1787552717.935,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "zeOLao7ZK7WuqtsPg-_6iAc",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "That's a classic! 2 + 2 equals 4."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba63b1306983baf6",
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "parent_span_id": "8ffc8c8b5aa75287",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.935,
    "timestamp": 1787552718.197,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "zeOLapKwPIqBqtsPs4fh2QU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "94dae4dcb106aeb1",
    "trace_id": "ce8e75164734436d99813a4cf5e827e6",
    "parent_span_id": "8ffc8c8b5aa75287",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552718.198,
    "timestamp": 1787552718.434,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "zuOLaqOQD9iI6dkP8tuouAY",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 41,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/google-genai :: Conversation ID LLM Test (blocking)❗︎ 1 18868ms
checkAISpanCount(4)
checkChatSpanAttributes
92821b21gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92821b21gen_ai.output.messagesMissing output messages attribute
b83cf38cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b83cf38cgen_ai.output.messagesMissing output messages attribute
99ad035bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99ad035bgen_ai.output.messagesMissing output messages attribute
8758bc71gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8758bc71gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
99ad035bgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
8758bc71gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "a5dc85c5c3664446",
    "span_id": "aa133a51ce3c57ea",
    "start_timestamp": 1787552717.087,
    "timestamp": 1787552718.223,
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "origin": "manual"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "92821b21a8585135",
    "span_id": "8fc1b5180bdc5042",
    "start_timestamp": 1787552717.094,
    "status": "ok",
    "timestamp": 1787552717.382,
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b83cf38c66ebd83a",
    "span_id": "aa9fcc3363a4852f",
    "start_timestamp": 1787552717.396,
    "status": "ok",
    "timestamp": 1787552717.687,
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "99ad035bd6fdb44c",
    "span_id": "be4deed23032bd9c",
    "start_timestamp": 1787552717.697,
    "status": "ok",
    "timestamp": 1787552717.948,
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "origin": "auto.http.fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.fetch",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "type": "fetch",
      "http.method": "POST",
      "http.url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "server.address": "generativelanguage.googleapis.com",
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "8758bc7177a67c6a",
    "span_id": "abe5edca1397085a",
    "start_timestamp": 1787552717.958,
    "status": "ok",
    "timestamp": 1787552718.218,
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "origin": "auto.http.fetch"
  },
  {
    "span_id": "a5dc85c5c3664446",
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552717.081,
    "timestamp": 1787552718.234,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30712/",
      "url.port": "30712",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30712",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "92821b21a8585135",
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "parent_span_id": "aa133a51ce3c57ea",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.088,
    "timestamp": 1787552717.385,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b83cf38c66ebd83a",
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "parent_span_id": "aa133a51ce3c57ea",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.396,
    "timestamp": 1787552717.693,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "2 + 2 = 4"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99ad035bd6fdb44c",
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "parent_span_id": "aa133a51ce3c57ea",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.696,
    "timestamp": 1787552717.95,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8758bc7177a67c6a",
    "trace_id": "d16bc15a262a48da933552b019526c3f",
    "parent_span_id": "aa133a51ce3c57ea",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552717.951,
    "timestamp": 1787552718.218,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Basic LLM Test (streaming, openai)❗︎ 1⚠︎ 110502ms
checkAISpanCount(1)
checkChatSpanAttributes
898fe05bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
898fe05bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
898fe05bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "93a3186b734734fd",
    "span_id": "95c5fc77ce3f5fa3",
    "start_timestamp": 1787552719.509,
    "timestamp": 1787552720.741,
    "trace_id": "3cf074f671a24312834919c08322c83d",
    "origin": "manual"
  },
  {
    "span_id": "93a3186b734734fd",
    "trace_id": "3cf074f671a24312834919c08322c83d",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552719.503,
    "timestamp": 1787552720.752,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30713/",
      "url.port": "30713",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30713",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "898fe05be3cc9ebe",
    "trace_id": "3cf074f671a24312834919c08322c83d",
    "parent_span_id": "95c5fc77ce3f5fa3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552719.517,
    "timestamp": 1787552720.724,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIPPJ4qxAdZPr0M9Cw9hT9C6tKPv",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Basic LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 110952ms
checkAISpanCount(1)
checkChatSpanAttributes
9468fcbcgen_ai.usage.input_tokensSpan 9468fcbc: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9468fcbcgen_ai.usage.output_tokensSpan 9468fcbc: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
9468fcbcgen_ai.usage.input_tokensinput_tokens must exist
9468fcbcgen_ai.usage.output_tokensoutput_tokens must exist
9468fcbcgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
9468fcbcgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "9757fb1462ea919d",
    "span_id": "bc188b5532818f7f",
    "start_timestamp": 1787552721.486,
    "timestamp": 1787552721.701,
    "trace_id": "953b3b04c8674b8598a5ef411fb4fa2c",
    "origin": "manual"
  },
  {
    "span_id": "9757fb1462ea919d",
    "trace_id": "953b3b04c8674b8598a5ef411fb4fa2c",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552721.484,
    "timestamp": 1787552721.703,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30714/",
      "url.port": "30714",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30714",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9468fcbc992f59d3",
    "trace_id": "953b3b04c8674b8598a5ef411fb4fa2c",
    "parent_span_id": "bc188b5532818f7f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552721.509,
    "timestamp": 1787552721.615,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Basic LLM Test (blocking, openai)❗︎ 1⚠︎ 112051ms
checkAISpanCount(1)
checkChatSpanAttributes
a19f34b1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a19f34b1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a19f34b1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "a58a678016ae752f",
    "span_id": "bcfb463cdeda869b",
    "start_timestamp": 1787552722.098,
    "timestamp": 1787552723.868,
    "trace_id": "c8f8bd038d5843c69e80e94c8638978c",
    "origin": "manual"
  },
  {
    "span_id": "a58a678016ae752f",
    "trace_id": "c8f8bd038d5843c69e80e94c8638978c",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552722.092,
    "timestamp": 1787552723.869,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30715/",
      "url.port": "30715",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30715",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a19f34b14c7b330a",
    "trace_id": "c8f8bd038d5843c69e80e94c8638978c",
    "parent_span_id": "bcfb463cdeda869b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552722.104,
    "timestamp": 1787552723.85,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.response.id": "chatcmpl-EGIPSiuKgvpSVcnhPVqHDamzPQiOw",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Basic LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 111601ms
checkAISpanCount(1)
checkChatSpanAttributes
ba92faa7gen_ai.usage.input_tokensSpan ba92faa7: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
ba92faa7gen_ai.usage.output_tokensSpan ba92faa7: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
ba92faa7gen_ai.usage.input_tokensinput_tokens must exist
ba92faa7gen_ai.usage.output_tokensoutput_tokens must exist
ba92faa7gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
ba92faa7gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "8b9f0e0ec1f6f10e",
    "span_id": "8b4f549fcfee0e0e",
    "start_timestamp": 1787552723.644,
    "timestamp": 1787552723.808,
    "trace_id": "bf37ee56b4b8493682ddf1a1cae4f69b",
    "origin": "manual"
  },
  {
    "span_id": "8b9f0e0ec1f6f10e",
    "trace_id": "bf37ee56b4b8493682ddf1a1cae4f69b",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552723.634,
    "timestamp": 1787552723.815,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30716/",
      "url.port": "30716",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30716",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "ba92faa7dedfe449",
    "trace_id": "bf37ee56b4b8493682ddf1a1cae4f69b",
    "parent_span_id": "8b4f549fcfee0e0e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552723.657,
    "timestamp": 1787552723.778,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Multi-Turn LLM Test (streaming, openai)❗︎ 1⚠︎ 129595ms
checkAISpanCount(3)
checkChatSpanAttributes
a3c0dcebgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a3c0dcebgen_ai.output.messagesMissing output messages attribute
9f96f1a2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f96f1a2gen_ai.output.messagesMissing output messages attribute
88096e13gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88096e13gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a3c0dcebgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9f96f1a2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
88096e13gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "9ad4c29e9dee2441",
    "span_id": "b432be02d0c76242",
    "start_timestamp": 1787552724.206,
    "timestamp": 1787552742.522,
    "trace_id": "4ebfa9c9a140453fb37ef4ebcca7e972",
    "origin": "manual"
  },
  {
    "span_id": "9ad4c29e9dee2441",
    "trace_id": "4ebfa9c9a140453fb37ef4ebcca7e972",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552724.201,
    "timestamp": 1787552742.524,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30717/",
      "url.port": "30717",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30717",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a3c0dceb05593f0a",
    "trace_id": "4ebfa9c9a140453fb37ef4ebcca7e972",
    "parent_span_id": "b432be02d0c76242",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552724.217,
    "timestamp": 1787552725.231,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 74,
      "gen_ai.usage.total_tokens": 97,
      "gen_ai.response.id": "chatcmpl-EGIPUifb8RIg74tRM7iPTTnzhcbgq",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9f96f1a2d6c2c3e6",
    "trace_id": "4ebfa9c9a140453fb37ef4ebcca7e972",
    "parent_span_id": "b432be02d0c76242",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552725.256,
    "timestamp": 1787552732.482,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"- City proper (the commune of Paris): about 2.1 million people.\\n- Wider Paris metropolitan area (the urban/metro population): about 12 million people.\\n\\nIf you want exact figures for a specific year or definition (city proper, urban area, or Île-de-France region), tell me and I’ll provide them.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1357,
      "gen_ai.usage.total_tokens": 1405,
      "gen_ai.response.id": "chatcmpl-EGIPVFdMrglqgtlk7x160itrLXhLf",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "88096e1303fa4599",
    "trace_id": "4ebfa9c9a140453fb37ef4ebcca7e972",
    "parent_span_id": "b432be02d0c76242",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552732.484,
    "timestamp": 1787552742.518,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"If by \\\"metropolitan area\\\" you mean the Paris urban area (INSEE's aire urbaine de Paris), it has roughly 12 million inhabitants. If you mean the wider Île-de-France region around Paris, that population is about 12.5–13 million.\\n\\nNotes:\\n- Definitions vary (urban area vs. region), so numbers differ by year and method.\\n- The city proper (Paris) is about 2.2 million.\\n\\nIf you want a precise figure for a specific year or definition, tell me which one and I’ll look up the exact number.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1855,
      "gen_ai.usage.total_tokens": 1936,
      "gen_ai.response.id": "chatcmpl-EGIPcPJNpyjeMfufPxBww14CofsaZ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Multi-Turn LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 111798ms
checkAISpanCount(3)
checkChatSpanAttributes
aebba0c2gen_ai.usage.input_tokensSpan aebba0c2: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
aebba0c2gen_ai.usage.output_tokensSpan aebba0c2: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
854af218gen_ai.usage.input_tokensSpan 854af218: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
854af218gen_ai.usage.output_tokensSpan 854af218: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
9853490cgen_ai.usage.input_tokensSpan 9853490c: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9853490cgen_ai.usage.output_tokensSpan 9853490c: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
aebba0c2gen_ai.usage.input_tokensinput_tokens must exist
aebba0c2gen_ai.usage.output_tokensoutput_tokens must exist
aebba0c2gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
aebba0c2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
854af218gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9853490cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "964d9c129867bfbb",
    "span_id": "8101ecd157808e96",
    "start_timestamp": 1787552725.018,
    "timestamp": 1787552725.32,
    "trace_id": "4caefc77fec44510a323ac2506baa28e",
    "origin": "manual"
  },
  {
    "span_id": "964d9c129867bfbb",
    "trace_id": "4caefc77fec44510a323ac2506baa28e",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552725.016,
    "timestamp": 1787552725.331,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30718/",
      "url.port": "30718",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30718",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "aebba0c23de789c0",
    "trace_id": "4caefc77fec44510a323ac2506baa28e",
    "parent_span_id": "8101ecd157808e96",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552725.041,
    "timestamp": 1787552725.155,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "854af2180659119e",
    "trace_id": "4caefc77fec44510a323ac2506baa28e",
    "parent_span_id": "8101ecd157808e96",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552725.21,
    "timestamp": 1787552725.268,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "9853490cf4d6616b",
    "trace_id": "4caefc77fec44510a323ac2506baa28e",
    "parent_span_id": "8101ecd157808e96",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552725.283,
    "timestamp": 1787552725.316,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Multi-Turn LLM Test (blocking, openai)❗︎ 1⚠︎ 131011ms
checkAISpanCount(3)
checkChatSpanAttributes
8c3984bcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c3984bcgen_ai.output.messagesMissing output messages attribute
8fb99e95gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8fb99e95gen_ai.output.messagesMissing output messages attribute
8a8b75a2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a8b75a2gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8c3984bcgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8fb99e95gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8a8b75a2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "a2ab678c86de8d8a",
    "span_id": "9a4893eba63cc7f3",
    "start_timestamp": 1787552726.266,
    "timestamp": 1787552745.393,
    "trace_id": "3ea65979b003472d98d0867f2e16a317",
    "origin": "manual"
  },
  {
    "span_id": "a2ab678c86de8d8a",
    "trace_id": "3ea65979b003472d98d0867f2e16a317",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552726.263,
    "timestamp": 1787552745.4,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30719/",
      "url.port": "30719",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30719",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8c3984bce6440ce1",
    "trace_id": "3ea65979b003472d98d0867f2e16a317",
    "parent_span_id": "9a4893eba63cc7f3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552726.271,
    "timestamp": 1787552729.335,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.id": "chatcmpl-EGIPYEjYBTQizvqqfRzShIvDuYLRl",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8fb99e952d97f950",
    "trace_id": "3ea65979b003472d98d0867f2e16a317",
    "parent_span_id": "9a4893eba63cc7f3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552729.353,
    "timestamp": 1787552735.556,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"- Paris proper (the city itself): about 2.15 million people (latest official counts around 2020).\\n- Paris metropolitan area (the urban/aire urbaine): roughly 12 million.\\n- Île-de-France region (Greater Paris): about 12–12.3 million.\\n\\nWhich definition would you like, and for what year? I can give a precise figure.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1048,
      "gen_ai.usage.total_tokens": 1096,
      "gen_ai.response.id": "chatcmpl-EGIPZlXQ0UXVjhQuNBBfAIOla7Etq",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a8b75a29de62dea",
    "trace_id": "3ea65979b003472d98d0867f2e16a317",
    "parent_span_id": "9a4893eba63cc7f3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552735.557,
    "timestamp": 1787552745.392,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Definitions vary, but roughly:\\n\\n- Paris metropolitan area (the Paris urban area, or aire urbaine): about 12 million people.\\n- Île-de-France region (the wider metropolitan region around Paris): about 12–12.5 million.\\n\\nIf you specify which definition or year you want, I can give a precise figure.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1934,
      "gen_ai.usage.total_tokens": 2015,
      "gen_ai.response.id": "chatcmpl-EGIPfYvAGjmbS9rK7QZyPByiSBVmB",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Multi-Turn LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 113106ms
checkAISpanCount(3)
checkChatSpanAttributes
8427a889gen_ai.usage.input_tokensSpan 8427a889: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8427a889gen_ai.usage.output_tokensSpan 8427a889: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b27eeefbgen_ai.usage.input_tokensSpan b27eeefb: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b27eeefbgen_ai.usage.output_tokensSpan b27eeefb: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
a1e2d1f3gen_ai.usage.input_tokensSpan a1e2d1f3: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a1e2d1f3gen_ai.usage.output_tokensSpan a1e2d1f3: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
8427a889gen_ai.usage.input_tokensinput_tokens must exist
8427a889gen_ai.usage.output_tokensoutput_tokens must exist
8427a889gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
8427a889gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b27eeefbgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a1e2d1f3gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "8ebd4c2cebe73819",
    "span_id": "861deca6903deb3e",
    "start_timestamp": 1787552726.258,
    "timestamp": 1787552727.494,
    "trace_id": "60a910a07f734d69aa774ce5b061a1a4",
    "origin": "manual"
  },
  {
    "span_id": "8ebd4c2cebe73819",
    "trace_id": "60a910a07f734d69aa774ce5b061a1a4",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552726.246,
    "timestamp": 1787552727.504,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30720/",
      "url.port": "30720",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30720",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8427a889990f308a",
    "trace_id": "60a910a07f734d69aa774ce5b061a1a4",
    "parent_span_id": "861deca6903deb3e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552726.283,
    "timestamp": 1787552727.176,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b27eeefbfc78f058",
    "trace_id": "60a910a07f734d69aa774ce5b061a1a4",
    "parent_span_id": "861deca6903deb3e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552727.234,
    "timestamp": 1787552727.349,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a1e2d1f34ff532ce",
    "trace_id": "60a910a07f734d69aa774ce5b061a1a4",
    "parent_span_id": "861deca6903deb3e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552727.362,
    "timestamp": 1787552727.479,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Vision LLM Test (streaming, openai)❗︎ 1⚠︎ 110974ms
checkChatSpanAttributes
872ccf80gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
872ccf80gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
872ccf80gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "9a9a42498ed3f4f2",
    "span_id": "b601b52fae417b3a",
    "start_timestamp": 1787552731.178,
    "timestamp": 1787552731.742,
    "trace_id": "be504baaf8614eb7b7a9cec6f53aa742",
    "origin": "manual"
  },
  {
    "span_id": "9a9a42498ed3f4f2",
    "trace_id": "be504baaf8614eb7b7a9cec6f53aa742",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552731.172,
    "timestamp": 1787552731.745,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30725/",
      "url.port": "30725",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30725",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "872ccf80b02d29e2",
    "trace_id": "be504baaf8614eb7b7a9cec6f53aa742",
    "parent_span_id": "b601b52fae417b3a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552731.189,
    "timestamp": 1787552731.718,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIPbgmJKk3Djq5HbGTNfqiowNJfZ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Vision LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 19601ms
checkChatSpanAttributes
a94d801cgen_ai.usage.input_tokensSpan a94d801c: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a94d801cgen_ai.usage.output_tokensSpan a94d801c: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
a94d801cgen_ai.usage.input_tokensinput_tokens must exist
a94d801cgen_ai.usage.output_tokensoutput_tokens must exist
a94d801cgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
a94d801cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "93ff6098801d1fa4",
    "span_id": "9015b25c605cf443",
    "start_timestamp": 1787552730.982,
    "timestamp": 1787552731.313,
    "trace_id": "d9e82635b3134bf691e4e7bf2e64f582",
    "origin": "manual"
  },
  {
    "span_id": "93ff6098801d1fa4",
    "trace_id": "d9e82635b3134bf691e4e7bf2e64f582",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552730.976,
    "timestamp": 1787552731.324,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30726/",
      "url.port": "30726",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30726",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a94d801cd22f7f18",
    "trace_id": "d9e82635b3134bf691e4e7bf2e64f582",
    "parent_span_id": "9015b25c605cf443",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552730.993,
    "timestamp": 1787552731.278,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Vision LLM Test (blocking, openai)❗︎ 1⚠︎ 110468ms
checkChatSpanAttributes
a89580b5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a89580b5gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
a89580b5gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "bf142d27d47d7ba0",
    "span_id": "b2da7c654b600a70",
    "start_timestamp": 1787552733.631,
    "timestamp": 1787552734.261,
    "trace_id": "c27392e7cbf74bbb9459e5231e7163f2",
    "origin": "manual"
  },
  {
    "span_id": "bf142d27d47d7ba0",
    "trace_id": "c27392e7cbf74bbb9459e5231e7163f2",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552733.622,
    "timestamp": 1787552734.268,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30727/",
      "url.port": "30727",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30727",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a89580b57f2ae6c1",
    "trace_id": "c27392e7cbf74bbb9459e5231e7163f2",
    "parent_span_id": "b2da7c654b600a70",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552733.655,
    "timestamp": 1787552734.249,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIPd8mc7705mNIuiBJ3o2fehD6dJ",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Vision LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 19519ms
checkChatSpanAttributes
b00158c0gen_ai.usage.input_tokensSpan b00158c0: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b00158c0gen_ai.usage.output_tokensSpan b00158c0: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
b00158c0gen_ai.usage.input_tokensinput_tokens must exist
b00158c0gen_ai.usage.output_tokensoutput_tokens must exist
b00158c0gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
b00158c0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "b92a2a8b7ad63c72",
    "span_id": "a611c0cec67a316b",
    "start_timestamp": 1787552733.168,
    "timestamp": 1787552733.483,
    "trace_id": "2f7ead974bb24f12823752e94cc99812",
    "origin": "manual"
  },
  {
    "span_id": "b92a2a8b7ad63c72",
    "trace_id": "2f7ead974bb24f12823752e94cc99812",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552733.166,
    "timestamp": 1787552733.536,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30728/",
      "url.port": "30728",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30728",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b00158c02b8c5220",
    "trace_id": "2f7ead974bb24f12823752e94cc99812",
    "parent_span_id": "a611c0cec67a316b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552733.173,
    "timestamp": 1787552733.436,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Long Input LLM Test (streaming, openai)❗︎ 1⚠︎ 113480ms
checkChatSpanAttributes
94b13ab1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94b13ab1gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
94b13ab1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "b391e7106803aa1b",
    "span_id": "875ebdf455370c4b",
    "start_timestamp": 1787552734.349,
    "timestamp": 1787552738.792,
    "trace_id": "4a647a6f8c1947188a797df16f077aa3",
    "origin": "manual"
  },
  {
    "span_id": "b391e7106803aa1b",
    "trace_id": "4a647a6f8c1947188a797df16f077aa3",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552734.344,
    "timestamp": 1787552738.799,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30729/",
      "url.port": "30729",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30729",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "94b13ab196d1eeb6",
    "trace_id": "4a647a6f8c1947188a797df16f077aa3",
    "parent_span_id": "875ebdf455370c4b",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552734.356,
    "timestamp": 1787552738.781,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The message is a repeated phrase designed to create a lengthy input for testing purposes.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "gen_ai.response.id": "chatcmpl-EGIPfMsGbv0sQI0lV6zGHfPqCjeRf",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Long Input LLM Test (streaming, anthropic)❗︎ 1⚠︎ 19810ms
checkChatSpanAttributes
9b65ebdbgen_ai.usage.input_tokensSpan 9b65ebdb: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9b65ebdbgen_ai.usage.output_tokensSpan 9b65ebdb: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
9b65ebdbgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "b24451f53135b7ac",
    "span_id": "ae84c2b1e10342a2",
    "start_timestamp": 1787552736.606,
    "timestamp": 1787552736.816,
    "trace_id": "3beab4dbd4bc4005b41c565c7cb1bbf5",
    "origin": "manual"
  },
  {
    "span_id": "b24451f53135b7ac",
    "trace_id": "3beab4dbd4bc4005b41c565c7cb1bbf5",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552736.604,
    "timestamp": 1787552736.821,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30730/",
      "url.port": "30730",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30730",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9b65ebdb21d8b2e2",
    "trace_id": "3beab4dbd4bc4005b41c565c7cb1bbf5",
    "parent_span_id": "ae84c2b1e10342a2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552736.62,
    "timestamp": 1787552736.784,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Long Input LLM Test (blocking, openai)❗︎ 1⚠︎ 111523ms
checkChatSpanAttributes
bb137556gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb137556gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
bb137556gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "b15282db19877958",
    "span_id": "977c89faa992c4c4",
    "start_timestamp": 1787552737.204,
    "timestamp": 1787552739.048,
    "trace_id": "d634682bd75e44df84f97f69bcaeb37b",
    "origin": "manual"
  },
  {
    "span_id": "b15282db19877958",
    "trace_id": "d634682bd75e44df84f97f69bcaeb37b",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552737.202,
    "timestamp": 1787552739.058,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30731/",
      "url.port": "30731",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30731",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "bb137556c50dfad2",
    "trace_id": "d634682bd75e44df84f97f69bcaeb37b",
    "parent_span_id": "977c89faa992c4c4",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552737.221,
    "timestamp": 1787552739.033,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"This is a repetitive test message designed to generate an extensive input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.response.id": "chatcmpl-EGIPhr8Gr7neWpocPMxZJOE8NgaZp",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Long Input LLM Test (blocking, anthropic)❗︎ 1⚠︎ 19509ms
checkChatSpanAttributes
829a1e55gen_ai.usage.input_tokensSpan 829a1e55: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
829a1e55gen_ai.usage.output_tokensSpan 829a1e55: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
829a1e55gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "8f6e49a5ccddc3eb",
    "span_id": "bdae60e437203420",
    "start_timestamp": 1787552738.074,
    "timestamp": 1787552738.36,
    "trace_id": "76b4e00e760f4ffe9086c533c6903622",
    "origin": "manual"
  },
  {
    "span_id": "8f6e49a5ccddc3eb",
    "trace_id": "76b4e00e760f4ffe9086c533c6903622",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552738.072,
    "timestamp": 1787552738.434,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30732/",
      "url.port": "30732",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30732",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "829a1e551d1a6dd8",
    "trace_id": "76b4e00e760f4ffe9086c533c6903622",
    "parent_span_id": "bdae60e437203420",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552738.091,
    "timestamp": 1787552738.33,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Conversation ID LLM Test (streaming, openai)❗︎ 1⚠︎ 116040ms
checkAISpanCount(4)
checkChatSpanAttributes
868d3082gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
868d3082gen_ai.output.messagesMissing output messages attribute
a7916379gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a7916379gen_ai.output.messagesMissing output messages attribute
905ac7d8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
905ac7d8gen_ai.output.messagesMissing output messages attribute
bae021b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bae021b4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
868d3082gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a7916379gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
905ac7d8gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
bae021b4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "90748a6ce2fc42cc",
    "span_id": "a13ffd86d65e3ee9",
    "start_timestamp": 1787552739.243,
    "timestamp": 1787552745.923,
    "trace_id": "acf663ebd60e4703ba16172602194284",
    "origin": "manual"
  },
  {
    "span_id": "90748a6ce2fc42cc",
    "trace_id": "acf663ebd60e4703ba16172602194284",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552739.235,
    "timestamp": 1787552745.934,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30733/",
      "url.port": "30733",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30733",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "868d3082233864f3",
    "trace_id": "acf663ebd60e4703ba16172602194284",
    "parent_span_id": "a13ffd86d65e3ee9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552739.248,
    "timestamp": 1787552740.829,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.response.id": "chatcmpl-EGIPjJUyudwO1K11denZFvwxhHn8S",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a79163798ed3779b",
    "trace_id": "acf663ebd60e4703ba16172602194284",
    "parent_span_id": "a13ffd86d65e3ee9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552740.841,
    "timestamp": 1787552742.82,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4\\n\\nWould you like a quick explanation or a demonstration with objects to see why?\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 282,
      "gen_ai.usage.total_tokens": 306,
      "gen_ai.response.id": "chatcmpl-EGIPlMO3ekDjBV5mEddcYI9HkEKCY",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "905ac7d8417c88f2",
    "trace_id": "acf663ebd60e4703ba16172602194284",
    "parent_span_id": "a13ffd86d65e3ee9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552742.821,
    "timestamp": 1787552744.417,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.total_tokens": 188,
      "gen_ai.response.id": "chatcmpl-EGIPn5rWX5Vdvz0F4QPvnpuMtsgdl",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bae021b400b493c8",
    "trace_id": "acf663ebd60e4703ba16172602194284",
    "parent_span_id": "a13ffd86d65e3ee9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552744.418,
    "timestamp": 1787552745.923,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nReason: adding three items to three more items gives six in total. Want to try a few more examples?\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 167,
      "gen_ai.usage.total_tokens": 217,
      "gen_ai.response.id": "chatcmpl-EGIPo57yfo8GypVRXDCcAZeVeSxTo",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Conversation ID LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 19021ms
checkAISpanCount(4)
checkChatSpanAttributes
a48cec38gen_ai.usage.input_tokensSpan a48cec38: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a48cec38gen_ai.usage.output_tokensSpan a48cec38: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
abdb09e4gen_ai.usage.input_tokensSpan abdb09e4: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
abdb09e4gen_ai.usage.output_tokensSpan abdb09e4: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
bbf450fdgen_ai.usage.input_tokensSpan bbf450fd: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
bbf450fdgen_ai.usage.output_tokensSpan bbf450fd: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b0843e21gen_ai.usage.input_tokensSpan b0843e21: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b0843e21gen_ai.usage.output_tokensSpan b0843e21: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
a48cec38gen_ai.usage.input_tokensinput_tokens must exist
a48cec38gen_ai.usage.output_tokensoutput_tokens must exist
a48cec38gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a48cec38gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
abdb09e4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
bbf450fdgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b0843e21gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "849912d9ffb6dec7",
    "span_id": "aaf7493d7a4b44a1",
    "start_timestamp": 1787552738.72,
    "timestamp": 1787552739.022,
    "trace_id": "4f294c5b29ff4f1a97c50dd7aa9a7717",
    "origin": "manual"
  },
  {
    "span_id": "849912d9ffb6dec7",
    "trace_id": "4f294c5b29ff4f1a97c50dd7aa9a7717",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552738.718,
    "timestamp": 1787552739.031,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30734/",
      "url.port": "30734",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30734",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a48cec38d7b8df93",
    "trace_id": "4f294c5b29ff4f1a97c50dd7aa9a7717",
    "parent_span_id": "aaf7493d7a4b44a1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552738.726,
    "timestamp": 1787552738.847,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "abdb09e42275f1ab",
    "trace_id": "4f294c5b29ff4f1a97c50dd7aa9a7717",
    "parent_span_id": "aaf7493d7a4b44a1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552738.884,
    "timestamp": 1787552738.929,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "bbf450fd632c7027",
    "trace_id": "4f294c5b29ff4f1a97c50dd7aa9a7717",
    "parent_span_id": "aaf7493d7a4b44a1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552738.939,
    "timestamp": 1787552738.979,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b0843e21d65b3380",
    "trace_id": "4f294c5b29ff4f1a97c50dd7aa9a7717",
    "parent_span_id": "aaf7493d7a4b44a1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552738.984,
    "timestamp": 1787552739.021,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/langchain :: Conversation ID LLM Test (blocking, openai)❗︎ 1⚠︎ 116906ms
checkAISpanCount(4)
checkChatSpanAttributes
857855bagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
857855bagen_ai.output.messagesMissing output messages attribute
a1ed3c6fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a1ed3c6fgen_ai.output.messagesMissing output messages attribute
900bfa4agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
900bfa4agen_ai.output.messagesMissing output messages attribute
8ad15cbegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ad15cbegen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
857855bagen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a1ed3c6fgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
900bfa4agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8ad15cbegen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "9707837fe0c9e4e9",
    "span_id": "a2b7f51e3e9a1d91",
    "start_timestamp": 1787552740.547,
    "timestamp": 1787552748.239,
    "trace_id": "f04245a3ea8c445ba28eee6189e7b785",
    "origin": "manual"
  },
  {
    "span_id": "9707837fe0c9e4e9",
    "trace_id": "f04245a3ea8c445ba28eee6189e7b785",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552740.546,
    "timestamp": 1787552748.244,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30735/",
      "url.port": "30735",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30735",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "857855ba7da33e7b",
    "trace_id": "f04245a3ea8c445ba28eee6189e7b785",
    "parent_span_id": "a2b7f51e3e9a1d91",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552740.551,
    "timestamp": 1787552741.441,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 34,
      "gen_ai.response.id": "chatcmpl-EGIPkb22i2F9QCfvDdG6gxqRUlhJH",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a1ed3c6fee23211c",
    "trace_id": "f04245a3ea8c445ba28eee6189e7b785",
    "parent_span_id": "a2b7f51e3e9a1d91",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552741.465,
    "timestamp": 1787552743.584,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4. \\nTwo plus two equals four. If you’d like a quick visual: 2 apples + 2 apples = 4 apples.\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 294,
      "gen_ai.usage.total_tokens": 318,
      "gen_ai.response.id": "chatcmpl-EGIPlhJ2EQfhZmETVWsHL6NXh7L16",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "900bfa4a28d43dd5",
    "trace_id": "f04245a3ea8c445ba28eee6189e7b785",
    "parent_span_id": "a2b7f51e3e9a1d91",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552743.59,
    "timestamp": 1787552746.073,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin. If you meant something else about Germany, let me know.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 220,
      "gen_ai.usage.total_tokens": 264,
      "gen_ai.response.id": "chatcmpl-EGIPoOTLFopbljZxe07a9Xvhs5kGM",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8ad15cbe438ec8e2",
    "trace_id": "f04245a3ea8c445ba28eee6189e7b785",
    "parent_span_id": "a2b7f51e3e9a1d91",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552746.075,
    "timestamp": 1787552748.237,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nIf you want a quick check: on a number line, start at 0, move 3 to reach 3, then 3 more to reach 6.\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 307,
      "gen_ai.usage.total_tokens": 357,
      "gen_ai.response.id": "chatcmpl-EGIPqOO20VZHY53B2xrXO2oPXkTqF",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/langchain :: Conversation ID LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 19438ms
checkAISpanCount(4)
checkChatSpanAttributes
a8df9e4bgen_ai.usage.input_tokensSpan a8df9e4b: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a8df9e4bgen_ai.usage.output_tokensSpan a8df9e4b: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
a1b48565gen_ai.usage.input_tokensSpan a1b48565: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a1b48565gen_ai.usage.output_tokensSpan a1b48565: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
8105850egen_ai.usage.input_tokensSpan 8105850e: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8105850egen_ai.usage.output_tokensSpan 8105850e: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
99567395gen_ai.usage.input_tokensSpan 99567395: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
99567395gen_ai.usage.output_tokensSpan 99567395: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
a8df9e4bgen_ai.usage.input_tokensinput_tokens must exist
a8df9e4bgen_ai.usage.output_tokensoutput_tokens must exist
a8df9e4bgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a8df9e4bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a1b48565gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8105850egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
99567395gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "aeba4184528827e2",
    "span_id": "abe2edbca59d4213",
    "start_timestamp": 1787552740.812,
    "timestamp": 1787552741.215,
    "trace_id": "5e52cfe1314b43b88477a5eb9f7daf76",
    "origin": "manual"
  },
  {
    "span_id": "aeba4184528827e2",
    "trace_id": "5e52cfe1314b43b88477a5eb9f7daf76",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552740.809,
    "timestamp": 1787552741.219,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30736/",
      "url.port": "30736",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30736",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a8df9e4b318b3d7e",
    "trace_id": "5e52cfe1314b43b88477a5eb9f7daf76",
    "parent_span_id": "abe2edbca59d4213",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552740.821,
    "timestamp": 1787552740.967,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a1b485655d8bbf6b",
    "trace_id": "5e52cfe1314b43b88477a5eb9f7daf76",
    "parent_span_id": "abe2edbca59d4213",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552741.002,
    "timestamp": 1787552741.114,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8105850e1729eac1",
    "trace_id": "5e52cfe1314b43b88477a5eb9f7daf76",
    "parent_span_id": "abe2edbca59d4213",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552741.121,
    "timestamp": 1787552741.173,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "99567395f3468a3d",
    "trace_id": "5e52cfe1314b43b88477a5eb9f7daf76",
    "parent_span_id": "abe2edbca59d4213",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552741.177,
    "timestamp": 1787552741.213,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  }
]
cloudflare/openai :: Basic LLM Test (streaming, chat)❗︎ 110015ms
checkAISpanCount(1)
checkChatSpanAttributes
b3b13243gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3b13243gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "b3779e0a9144f6f1",
    "span_id": "941e505976faf754",
    "start_timestamp": 1787552741.544,
    "timestamp": 1787552743.538,
    "trace_id": "8a027ec6de394c5698e511417f16a655",
    "origin": "manual"
  },
  {
    "span_id": "b3779e0a9144f6f1",
    "trace_id": "8a027ec6de394c5698e511417f16a655",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552741.542,
    "timestamp": 1787552743.539,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30737/",
      "url.port": "30737",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30737",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b3b1324335fbbb54",
    "trace_id": "8a027ec6de394c5698e511417f16a655",
    "parent_span_id": "941e505976faf754",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552741.545,
    "timestamp": 1787552743.532,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIPlKkUXtzPfUZTCBGz35vT8uN5U",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 267,
      "gen_ai.usage.total_tokens": 290,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Basic LLM Test (streaming, responses)❗︎ 110620ms
checkAISpanCount(1)
checkChatSpanAttributes
9b217025gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b217025gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "963267c98976d223",
    "span_id": "918e2ef693e923a7",
    "start_timestamp": 1787552741.81,
    "timestamp": 1787552744.885,
    "trace_id": "f52d7406fc0e4fe8887bd8171e74c515",
    "origin": "manual"
  },
  {
    "span_id": "963267c98976d223",
    "trace_id": "f52d7406fc0e4fe8887bd8171e74c515",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552741.808,
    "timestamp": 1787552744.887,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30738/",
      "url.port": "30738",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30738",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9b21702569fde2c8",
    "trace_id": "f52d7406fc0e4fe8887bd8171e74c515",
    "parent_span_id": "918e2ef693e923a7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552741.811,
    "timestamp": 1787552744.876,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0be6c5eeb388d9fa006a8be3e788f487d0bceb6bbc47529470",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 165,
      "gen_ai.usage.total_tokens": 188,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0be6c5eeb388d9fa006a8be3e7e1cc87d0a2ff93189b62e924\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-PoRud_niOhVUdN51S7Zwqpav-ab_qP_qGa3vO0_zi6p9M07t8yNA4gMpcu2MRQLd8-wtqtx5wySy817xh2PD0g9csrG9Wk58EswlxkfU0sGGbl-9rmIFlqHKk1ftwMeLGlARUgq9ItQDHsLyNb43KUVfO3V7k7KQmNTZVM1BjZ5ppHzIe6Qef0v7l5uk4HzldLMofLX5cR0fzwJpfDicRQ71Nhfxg-7BDVOJCOlP82DkTbqsPxWceoMTS_ZAVXOAtG3UFH6HkmyfRAW8XhH0pVO7rLC1ZdH6sjApQ7cBwKTgeTFRPlobxC3jdS8HR9R4I1H19RJ1WU5VhE2I3eBgsnbdn_5jzi1gGlmTZpYFvoBlk9f1vdj3MevcDFs2FbH6YRnyHgo1aGGmo-016yQACOmNRqealszs4Tkl9bJi4A6sabxLwNkuM1Rg4rBknRYcfS55-Nja6eYeT_EHcU_9tRXXTeBs2Br8zvoDTKhRFZMEkJTz9oG0pwFEfEBB3RR9jiTkEcCohX5jLZzcR8to3H21ng6RcDq62NVnx-xfT0P8Gw7fIavc4W77Bn4lesfq4HE_wjFGKJUskuRwez2x6s90Ttgo-rG4riBR61q7EGk47OqCcy-RAIqdnGJ0Af_TMQTLXW6nhuVgurXAAkZs9IxYtrwlwTZvENxfeq3mJ50g2QXLNWfKvriqWvlxUiUqw5oaiK-uMAO2_0XW2GxngSB0JGYCJ_rTlY2t95AA-bx5tuBp5o8AVbVWFzuD0QEIv0X4jDWVEumDytDkd4_vRg2DYxI_KayD8qETg2YI6P97FCha581wkL6D_3gI4I4E4uP0Pum_U1RuD1aWXzwO5NuznbrhV5hltPHgrMP5Y0pDDrMiowyun5Ha37J2ekgJ78pRfzzB6_5IrBsyo3h3t9bFIHjdtLKaHYHpMZx2k1bLdvo9W2f7Pq-9mER1oV0B3z4DpS5bsIAPu2YDfxMzP9nMndXXOylB2mg30xwbJLnvm160zMP8gbrzh1dG50A0u9aUz3Ha5gsKSqazA0riyeQWjd58xVeDiXQO_BAuBZe_M7Xq6oABYDyjofyOJNGZ8BpRXa5Ui83ZLAagsuKAZDq-DP64Wh2SKtJ5xvmNQcAj4TYJKb6AlZvx3ZeAMOpELEBg2_nS5OC7SgN9rwlvi2xRjoUta-nBPHlcLzTs9uOfMaAJ7bkT3oHxk3QsHjd50RbmeoTYpxyqgawCwknxmf17i4IwGNkRPXBBsMz-A7hGiYaq1NwCR-mwXk5P3BBacrrNZmoGVNWDCceuPbyQSVz6DCzxy4zeMdqmpwqunAR1luqyQYusZRQEOIcju7yS98Tu7faproBfIr1mR_JMKZyej8CRDPEigMxhoRp2hbv3XEEu0fAekA-fPnG2-I1Ff6Nka7AnN-YdY_608e0EpMnT8Sc9oB3tdL3I6Ras-hRuJ4E5sy9XfUGJ5NdATL3sTzi0wVOFUBJr8VWywEcxhGHR04vuZF83VCiWe0bkyRa7Vw4vWxsV3YyS1swQ-bF7N5os3j5jpbaMtAKeCaiNrHPtMhl9r4j_PCAXpVJiGlBXrHv6kP4CBN044gNkp5Ia5E4LGhefyTjb2F1yhPNrug-NcysmSCMDhalrDs1HIpRAnTdqSDdOiJuKHRNILChwTwzVb0fyvB0QLVxEG4CdzFghxKvfYpYYGPoNdggF1zj1USlVRMmRy1SveUOOAQPNuFZVSlGCCLoub-KkUtv25eOXHdrFAMxtfpKjz6vgEXcP5UFEFccRMvU3tzcdEuAjPUOVIY0cTwbZaxr-v-9KrxDOuuO56JAM_-iGSmzIGPemWh41uyaFnmanwCuLL9XEKewEgYf6WjX_6Q57gDVul-ucgmxXR9lhENVNP1p8w6PnGrXADzExmmln57Il8au1KyZBeGON9igG6vuTtWNL0W0pCZuQyHd_azNfVlrjPEslzYt24udbEMKGXn_MO2_s20MqDE13IYZ03uRTzOYdoMOtzH53Ayrl8AgDQt2M-W-qbgYrivNH1Ni8xXwaxoCUbv7tQ2S6fWnD6zMPw8YnyD2xggcHpoOiOonPOeRPlfU8eWjb1K65e-RTDwJycjlm20Wihvm9wcMJiGRUaIRXS5uyx-9YyIS3lEH5Xk1qA3Rz7rpwL4Kt9GrU3K5I8dWw44\",\"summary\":[]},{\"id\":\"msg_0be6c5eeb388d9fa006a8be3e89de887d0860e76654bbc607e\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Basic LLM Test (blocking, chat)❗︎ 17679ms
checkAISpanCount(1)
checkChatSpanAttributes
b4f2727cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4f2727cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "b92629d11b1d6732",
    "span_id": "aad3d206ad67045c",
    "start_timestamp": 1787552743.377,
    "timestamp": 1787552744.511,
    "trace_id": "c2834e496eb640e1a6325bcfa5d7ccf5",
    "origin": "manual"
  },
  {
    "span_id": "b92629d11b1d6732",
    "trace_id": "c2834e496eb640e1a6325bcfa5d7ccf5",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552743.374,
    "timestamp": 1787552744.52,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30739/",
      "url.port": "30739",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30739",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b4f2727cdf017a09",
    "trace_id": "c2834e496eb640e1a6325bcfa5d7ccf5",
    "parent_span_id": "aad3d206ad67045c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552743.377,
    "timestamp": 1787552744.504,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIPnJoeVupZbk9dbJdi8XnuQeeLY",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Basic LLM Test (blocking, responses)❗︎ 18577ms
checkAISpanCount(1)
checkChatSpanAttributes
8d470bb3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d470bb3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "basic-llm-test",
    "op": "test",
    "parent_span_id": "879f2a29e2fd9d37",
    "span_id": "9c15d343eac20488",
    "start_timestamp": 1787552745.041,
    "timestamp": 1787552746.993,
    "trace_id": "889c649e04ac44fdaceeaa54d3c0a390",
    "origin": "manual"
  },
  {
    "span_id": "879f2a29e2fd9d37",
    "trace_id": "889c649e04ac44fdaceeaa54d3c0a390",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552745.038,
    "timestamp": 1787552747.001,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30740/",
      "url.port": "30740",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30740",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8d470bb3af0ec853",
    "trace_id": "889c649e04ac44fdaceeaa54d3c0a390",
    "parent_span_id": "9c15d343eac20488",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552745.041,
    "timestamp": 1787552746.987,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0199012e3fbc02a0006a8be3e92c8c87d0aa3960a7f3277cb0",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 170,
      "gen_ai.usage.total_tokens": 193,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris. If you'd like, I can share more about Paris (history, landmarks, culture)."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Multi-Turn LLM Test (streaming, chat)❗︎ 121945ms
checkAISpanCount(3)
checkChatSpanAttributes
add9b1bcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
add9b1bcgen_ai.output.messagesMissing output messages attribute
a9de15fagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a9de15fagen_ai.output.messagesMissing output messages attribute
bf0846e7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bf0846e7gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "b29f6bdff1d5cd88",
    "span_id": "a4e6a0c00a5080d6",
    "start_timestamp": 1787552745.973,
    "timestamp": 1787552760.752,
    "trace_id": "5866db4ec3b344019adcc3ef5ce42702",
    "origin": "manual"
  },
  {
    "span_id": "b29f6bdff1d5cd88",
    "trace_id": "5866db4ec3b344019adcc3ef5ce42702",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552745.971,
    "timestamp": 1787552760.758,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30741/",
      "url.port": "30741",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30741",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "add9b1bc7396bb2a",
    "trace_id": "5866db4ec3b344019adcc3ef5ce42702",
    "parent_span_id": "a4e6a0c00a5080d6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552745.973,
    "timestamp": 1787552746.889,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIPqDfrU5ZwvsP1y3RCXx2IKS7L9",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a9de15fa4103ba5b",
    "trace_id": "5866db4ec3b344019adcc3ef5ce42702",
    "parent_span_id": "a4e6a0c00a5080d6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552746.895,
    "timestamp": 1787552752.364,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIPrjIQDC5m9f3qjP30wjZsoldkw",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1037,
      "gen_ai.usage.total_tokens": 1085,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "About 2.1 million people live in Paris proper (the city itself). If you mean the larger Paris urban/metropolitan area, the numbers are much higher—roughly around 12 million depending on the exact definition used. Do you want the latest figure for city proper or for the metro/urban area, and for which year?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bf0846e7a962cf73",
    "trace_id": "5866db4ec3b344019adcc3ef5ce42702",
    "parent_span_id": "a4e6a0c00a5080d6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552752.365,
    "timestamp": 1787552760.752,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIPwdhF2GLZKbgu7cnanrq98456W",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1518,
      "gen_ai.usage.total_tokens": 1599,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "It depends on how you define \"metropolitan area.\"\n\n- Paris urban area (aire urbaine): about 12 million people.\n- Île-de-France region (the wider metropolitan region around Paris): about 12 million people (roughly 12.2 million in 2010s data).\n- Métropole du Grand Paris (the administrative intercommunal area around Paris): about 7 million people.\n\nIf you tell me which definition and year you want, I can give a precise figure."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Multi-Turn LLM Test (streaming, responses)❗︎ 125776ms
checkAISpanCount(3)
checkChatSpanAttributes
adb07d3egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
adb07d3egen_ai.output.messagesMissing output messages attribute
99948f7agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99948f7agen_ai.output.messagesMissing output messages attribute
ad62f69cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad62f69cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "af36c5ceddd9780a",
    "span_id": "934bd777277c0ff4",
    "start_timestamp": 1787552746.191,
    "timestamp": 1787552764.794,
    "trace_id": "8e6387b4787945b287e7c464c345c8eb",
    "origin": "manual"
  },
  {
    "span_id": "af36c5ceddd9780a",
    "trace_id": "8e6387b4787945b287e7c464c345c8eb",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552746.188,
    "timestamp": 1787552764.797,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30742/",
      "url.port": "30742",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30742",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "adb07d3e9bc88f45",
    "trace_id": "8e6387b4787945b287e7c464c345c8eb",
    "parent_span_id": "934bd777277c0ff4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552746.191,
    "timestamp": 1787552748.372,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0832395b2c8ffb89006a8be3eac4d487d0a88dd0fe0119e5ea",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 196,
      "gen_ai.usage.total_tokens": 219,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0832395b2c8ffb89006a8be3eb2e8487d0a6b7c9ff8e2ef700\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Psf8OTbrWJwKFwyK7g99fUJMq9t3KPREmQVkqxSOWYRWAeCe53GjbRaz9bBg7vGKI7Jv0mLE_CG1xrOxOdBgI5WvgEsaQIPfyCWjbWhojN3F5XhOQIKdpQk6gT5WM3k7dFDujMuLnE-bZkSExi2dETd241qYGBX6lMKX_TxraiALbcVXpELUnrnSOL4imnsvQ-3ATxjG2eI29OkXIpoK1KI3v8CYXB7L9RHzgmm3wsir2k6lB6ltCG_f-ea0RRhwYYAfwV7_VTvjIFjjrUrgLqLg1S-WvnVjUXrXhPK9E8b9_N-qJNmpUDJ6x2gQjdOnDHY4bBWJIklEbKP8pHw_F7Fr2EsszlgIY_DgLGZ1n-nnMAYd5r7w7ccN8sJHK6_n8uqMcSANDTGvH3wVjzoRpEKSZKvP-vKjeGAlGD-oRqIQdpNXcmTBpnWI99bAA4HEPAOzCs9m56uVXSWMJ_7maG9IYGzx3hw8nNJIacNqfxMZzxxjcj6O-cTvOZqkWpysEX42Scqyb2mQaWUAUVFrpS49Y8ficz2lyDZiK9n2c4uM4Bme9EY-_sunYR2an5_TfSRbeBHgZNmjVVYfXly_XDnwvAjsxZPh3mdXPITJnqOW-CGTYhj5apsVnCAkbEnPo0Zo29E5VoR2IXr00mHvU749rdvewSRxas3BroB9cM0K9kvoiQS3omDm3F6yxSh4q0EkQMvO3VaW7CCZyib6JIlCvdsbSKVyYBBwpBcVglDZDeIjJzmE6F37scQO8sTvIEV0JNv9qzm5E693tla3IVzOlv_TrLnYRpZiyZnMQdWlaq5xiyHZQsPCZrRjwM_24MS3m8s8Cs4UdlD5kGaH97TpqrO9iwfV0ZkutRCJ4-hDzz0e3qsEIwWbD0BL3gk3se6jaP3dY4aBOnjNB44_NRW0M2xzTeQUMfmecg6pdVx9DHOEXnHRYICeIAoZZ0AOS_pGsR3xtxlkbjbBCy41C69uU4c2PeMxfwuZiAmXYJ9UCO_mcqKZXm1bNG-fUBrUIBw3Z3OQM-eB6I9w2GQAaLE5RzQUJ3vBSDEwqaMaUGjip-GD5pbNCUnXMqxvPhuGz9mz2fJf2-gKKlNvI9wxkWPWJFoiIMzMKcD0tMseFZqA-G523b0y6qFumlOXv4t4BAJqRv2mNAVRomx1Q_RsxrqJnqg9jqkU6Gkdf2n3JDiUJHV9y8wdxuLTGvEXBDAIke_p9GZpSpi_aPTR5sa9npEhV9G7X_so9sRE_I1SBJSv-oX4MlftLkHYBR7JMWC1R1knTDAoY-0rd8kTtckykmlfMKLHxi00R5MvTqgz_O0Dk12fnx1nHzYL5tlQzwNt4mqYPy3V1_OScWBBjrHjsuKef171_4tXuzKhOEuVKnkpGl2vnZe4e7o0qfwYjosQfceI0v84YevprdhoWBKyBKByUWwyw6YflcS4tlaFW5aWVhLzi-lpc9d3lTRQ9KK9zyjxkMlUw4QqVdgRaEROFYOYtRNZnsxWPWPdwHmmFpaSnCSE92OqvRtbAfwNm6_s98ppLJ1Q3XU5ioZuP-lJhTl_MnvgVkLfc027lDqlYEgXuhmxSNnYZmIw-hVi87IyXSVlGqJOpyUF_XuI6lA6HSzQwRAy2_xyY4JVuRDRWWeEptIESM4S2LELqszMacEPFTfBG3rRoAZTFRNN0VxkFeia33s9DTfnqs0gtHMFzmU7dBZRvAPNOF3e84gIGIoMlWxuQ6LjEeIO1mEEZ_9uxOO4ndTGyplX2eqcVq6XpACmacuNSQ-W3tsKyvYJHo-J0uu6uXn6061_ZhvV68JcFPjopaHtlEW0qn--j6f-YXUnv-Xlxml_TFLG06OqbwYeXyTLHu5GO8dU6vRAcvVsSn8Xd6AzNzBL1IIMYwjqbP-WYbupewfJUSgCfAxEJLv3L0cr6-5swMk2OArZqwC8GxgAV_lmr4tIiqazOPuDqa5VjI4X_S_nKZ6-7bYoxDdaZd-7ILnaf8rPZayMEqXCVXr7PYhYbtSL_2a8alT33isq9_hxuqvpHg-HPchToqBVDoloK2Sl9ORQeGyRmijehEJDquym7RCFsAicz5ebJRvd4yHUJFs8xHEzwv8EClkyAOcoTV7W_NBgNWWWoxKKH527se5xRN4rJ82gWPFRKyPMvLgiBhtWlLj5c5kl8rxGtqjjNT0gvgQtK3-9rNGKtnLri0pXRj7DzC2VflWl2iWcc2L_bsz2teDAKU_NbtTm5awn-1EfFtmk5JJsmeQkmWtyIDLJF3-CXGfjwPSH4eOTHLzZsyk5Dseaz6ucCdVrUY-_fYrrq6TrtMQ3K2mnPEjTe4o8JE62TkwUWSDHy9Twg=\",\"summary\":[]},{\"id\":\"msg_0832395b2c8ffb89006a8be3ec195887d0ad336ebe258ea17a\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99948f7a45ce103d",
    "trace_id": "8e6387b4787945b287e7c464c345c8eb",
    "parent_span_id": "934bd777277c0ff4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552748.377,
    "timestamp": 1787552755.212,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0a6cd8a90cf242b6006a8be3ec747c87d0b032e57febc1b9c7",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1134,
      "gen_ai.usage.total_tokens": 1182,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris (the city proper) has about 2.1 million residents. The broader Paris area varies by definition:\n\n- Urban area (aire urbaine): about 12 million.\n- Métropole du Grand Paris (administrative metro area): about 7 million.\n\nIf you’d like the exact latest figure for a specific definition (and year), tell me which one you want and I’ll provide it.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0a6cd8a90cf242b6006a8be3ecd78c87d09b1e0bd32de981e1\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Pyl-bUp-qoisXEzSUhXMwSe2ptDppfYM3P7qu6SQBecx9dovp3ju44wMdM9yzd56c-BXyNsLDGsaOvJ7ed945rYn1dBhaZapmAmSAl4DGJtBC1-v5IpuPvAUN2vqRr3VOGI7o2N3MZu4RoIy_WiA2ScTPUPISm44gSnp5gVKffGBASZ-kfIJZgmf2apj55QC7g3JsfYAwxGKLcFf_7JWSD9BZD3sSYPcUUt_1TUgYzSU1JrqGA8QJthwhneuq9u_JsKuZPqxvm-nN9xdiXtiFjVeh7sQQMT_pWO5vWDrhL50WaldEvCZtimjPassmUWMu2499MqlCtNCx4oY56932o9ZUqKExZ1fv0dXezuQroUGC8WuDBCeCkqnD_XIvrYA0qosEgcV0osvI-a2niZaeOaiSpEqVQ2B6uF-waP-VBBbOW6gK_uWrSX2PbP3VY-MOnZYWZbCk9K9QUBJcBrFrrH68wWC4I1wAPobsxWJbzhi8KKru3IDrQp_NqLuUqwntOCrntzO89vM9cUJfv3wunVmyEOQaalOZenh1QqKbqJ-ecPVD-HA1Ctb2lVCCbqcSKBIHoqpkI_xHE-1P81PV7W04XKpaAC6H3jSaUBJwiea1no7MC_cuMbdop9L6GwXpUFICx7-ZsuqmJdUSyVv_2hNr1aKtpZcOp3Uzn8eQdia-VDTLwCn3URSLC8tZT12pPeR4wrAOH94OGhwhJZGDUnHfgCcd3sJblAyuUxSIVIYYc9WYDoXQzlRedQ8Wx6tehWGfQImCr1vNPkMovJw37NrCdzfuz2owMpipGW7__RayVugTKzj7Yw7B3lBBfMvLGj3Y_hR1Vf8AZ4T9tujV5jD0uL6w_IYcLZ_zizKwFv0X6GmbnkpLymrkD_XSrYxUXzAiu_K9ijzckcAgWcbYJhZFOFsLoXTzdq7y3XyQN6w8eUuAVzB5OkbrTJ3oZr5De9sGty2JnULNMPOeBJRKwkOVby5LZyEm9jobL-vfPZ5UoFmLCn06yD-k4qE3N1V8FNiZZiztb0BjhKjgXNz9juB914vAVzw8_dwHllxtY3lZ5mrKpuQOwv7j7pWSeWLsbcf9K6ei658kQQxfI8z5xKOq0bfasvGfbgVZx1Z2vYAIcvFjapInjL346JitDEUUUrHvq5N4QsjJqVO6PQiSHQyoW2I9kRGA3nE0SHaV2QkL6NuExGnLR_EzzOu_pSHmHVZlNepn-jDg7zxyRsU3Vzb8YETdBOXGOVkCleFEwcOIGUBPqJAVya86aTnbfbo2IOrV0CHlsvHTd90tdtVWZZ8ekEzxr73PFhZjn-SK9MlC47PX_-Lu3nWT1c87ZQaNcZVYLMnGy4Lsw71tk5HFh_w96CPGailhpNjxAMRgDJbrETHpNz05RSG52BWLN9OlTPywKJPD_xeAMF-ie7MgVum3cCBneeaauqDxyMXqKxLfrzCD6jY2-3KiNFGK-mf8lAZ3Nvw700f6Dxqv-t8daYUtWpw1DQxgdF4RfpkLH0yLtvit4BjxubWyK9QXPFJIGjK0vV-Db7oK7EiA1lfli7PKQFrHmkiQbOJugUfpP5g6mrJkKAy5IdJhBHZLZgu2BzO8QlIvRwQzNjLLnnZ9XIHWe9up_4aCrDHAycCB98GCm3P2RdhKhjAS0pV0UI6sl0QxOjdepuMkLiQza2h-KxlkAfV0_BRfUJ4ht86TgerjGWbwHyFnB_cQr7oWixEHpafZacp4pszf2J0C9eUbQTGMXfJHCQosuDMCI681iAF_3ju5W3Pzx7rMIlyhOfTu73aPNzdGu0xl3WbBiqpoXLnm6u9L5C8o88KSB-pIrKue-hOrhSKqXvHiE90F4Kf5B_uBLEv-fU0ppY1Marp8Jy-YOccvVl-8j2487K24LelQtRJANL-BykOo3d_VfrgN75BxNdcqNF1gLkPk8bL0KkqjukySNX8AyXwhH4s7FB14LRpuYzJ6ukVxLpwR8NWbtQHSVntmliDntoRIBERCaq8jFniyi-B_jQPvrCIeYvXUDJRDjLYxDs05OFHjU2ui5pWf7V_g4caWlDjmFlGiAA8gOHWapxdv__WtxArIbXD3-8FovPEoR9cLydfrpP1yi29iAcAPKt6jLGWM49YZeEKpQhK3Q3QI9ceQ-MRe804c5GDkhsiNze8LWio4PXt3tRdwNksuA4YxrqCy4JBmyapwtna_rlm_mve0qvJCCTGNdMKU5RpneyFB4WR13zo-YQA_Aj3Z-_nW4X61FXmsS1zqovQqadNBnVJCk7Ag6zImT1eTjga8TB8SDe2l8MbLMADitxzg2G62JLnutity-tEL5zzytfclFYt1pYZ7ttJSD6HJQy2jr8lO4559bhzzWATE_HofgLsXOPjxghdG_eGvEpBXknzlCtCDQJYzi_MID1JeQNhItGQbUhqoDqGNdcofbm4gz_fSg-hLMnfvnIDP4aKaB8OA_Q92xhhXtHcskfemmH8knU1nWdQxNP41TQRTSA1RdZrVq5J5zemTP_7badljR_j6RT5jT5QP63TveGvT-GSZpaz2V4lEgw01VLy9eabXvt7kEaWKMRlQlSFpaNsMzWJuIad0UKcST6DA6hzTL6TOtxWofDe_LXxKImuyS7n2wFaGru3ES46ZNgBXXFvu4ZdD2CC_5W-x4dfI_Rf0gBbPHIlI4_IPcc2mETXxEUKtkX6kMzxFN7cJ5TcTQEfTKghVAPJ7iow8sQuqtAvS_Jc3lq0B9Ze4rMiOqmyxCETwd03ASMMACcmO9dnjvZ7zGoyyAW5NFSKRYABtkM7JxcXDKt97iLzg3D6A7VKpoFuHAYGzMggag6k6h6QXZ7KBo19lrbSpNKUs5KTNZPJzozeUVUwGHSD7G1dtOS8ILmUxcQviEdyDxIFNKPhVfm5oG7NN_S2J2phsTjS3rbsHPZ3h4HyMdBQ4O4O_HuqCAjOzApIvSeqcxCoh_1ItkaQekrrBax5JpMOyTNO62_tuDKaMatHZCf_gJbQxkjOgT1AmCfpPohqyFW4SzOAMX9Xq6seh3BOKoUgJJ6a1mAcFnHmdHBbjACgj8kx4VHLvaeCzw8m8Qpqp3aTs5SrjDNBIahkBjJ18Ban8OSt9ALiIU-a6VqajGeEIhJrJOmC-mAfe8NBRmhi2Vwmo6Dyn_VO70EbuUMl4VMHCb4zt4mR1cL88KSLwkH_6-EQijLBFT_6qEmAD-5--58CclLP2SyWH8jwI5xxLEVpMqFTuDqmYWImeJ7Kdl1GJCGHrNde7yjaxkn9FIlVm4_NFLmMV1gYRwLCjn_7coH6draE2YObBvZ1jqSA7FL_ddtIeAaWXhmvpelsDa7FiEOfwJuSRDoJLUQvsBqmTpqGSreIPpNpMpeJ59jh1f84hluXGY3sK9mN65Tpm9WSuOZyfgayqNd-9OEfJdP_U1vjqb3sa3y8qeBxtrBX2A-ThJ35Oy3Gt6tfXudUCTCtEfChhINMi50josXJ-HX3weSd2CXyRyqpbIyElc-5i55ItWgyClYqxGtdsvCroqF153dM0zgNff4xLhvechHBBpbMUr0GS5H85IlC0XndmNlInIuE8W1-6UhPVPy2I59iV1YWpHy7rx5zyuREyv_ZNK4S3DUMBH8ddrlu1h7Bg2KnX4YcKGQ2VY_0s0zu4meJQta-ejxWSNxiyTbAs41v6XDIOVE02Q6MY8cVcH5ca4PVF0RVCV0XMLu-V4OivJfZgJ_0Q9cvf8zhJwdDZQjjEo_niyHwTiGHWjIsNN-FxZCOhA_wp8wn2PGIWc6ih-SXxU5M6uV0fj2geFJGVunshPnai5OTH1v_FeBTTkiEIzToYfly9H6_p5m7cvSIf9kIp9FfQXiNA5y7PhigahEVLTZiB5HztI9aEN3ZqgE9iQqdO99g6hTiLLWqdh7MXV8BWE7PwywSXjvKq2m87CYbH5Vt6jKwtUW7jtC7tDXqfRtmg7kXblqbcBndZ6Z33omXi3Wi8QXT7wSkiqVG5BC65DEZRXCgtU457RrAxr140DBpHhtl7tIJS-ohziB3wWZthiUTCCUI6iJIlaR9L3A4TLZtJ_ra-HcR0oJoO4MSSoLSIiqr3zOnYoESYh6LfCGrqA2W1kZnHveWBATgteJdgAhRvrjqUOhVS2r6VXrYUux9Coh-JtSyIDqfwSwgUNrhubfgWNLQXAc-NUjCOsohMyCukOhj4P2LgKrw7dUxhNy0gr5HPB55YfZrXTKKTgbhmOONeAp8aGAEOQvOLDd0-TNrgKmA0sYRJaNvQDd1TGv51VhK8lbikDeDNWpsxgo3PAEfaGr39ovce8jIW23NH6-VFZE9L2vgKctly-m0OjBhUfrvIrpe9KM7NdNCb_bWmDFRwcLAOXNc6J6EftRyd1DaAAnf4vsVRIWO0ITlTyIY2GNGquxRPtKbVjpDNSFO3_idW1yX9kvVjdF7AqF7y7RmANSLozWnvnnKa3mpFW5jR8tRb7v-X14eb6_BT1U93KlKMJlUDF_f-eN9h4iMsuJNABb_VCwjSKGdDo9iDjZOUEgELQU0IxppZC9EpZT4_0oP8aGoNRZ1QNXQk0uleW3qtfbcRwsyV38oW7gDJAe0ffcts1_UTZI3uBUlhY10m11fLVP08h6b0rQuKKVnfac3rWRqqw9U13OkQotqbeHt3jn9A_ePcGig9_fHqh43g1ykiGjeXlGQH6ovbwqSxzQT5ic8zKAadtA5XsdytMYrPTeCFDV8jkMVeQonCXjahQK_7hjm1Rz14PEsslgbp3QNCPH2GwsmiOtHTBcmMo2vg24wEEfVbSoNx1Kl0k8gMqadwCeK5YMKOvBN4XD53j3RnulacKtH78QrI-_kHaKQhsfiK2Avybu2mWtdjxNyBJqzOx-zQpVdQSkMelSWWJHgKndGNbXNvipusI5U4xYOfaqOUsSIu5HU3RNLIOHA_9Azt_1C1E8EIwnhqDesRsuq41f0C9oRkXHa-V0oKlLSSmluUBBwH_znuB_hsbUgHezvM_-7hNaaH9VsViNH4VOGnPt64hSUjhDVJLhs3bMFr3It5ezwARx3CwlzldCCBWpt4mTFwj_s1_W9pn_G9Gc9xRgIBqgZjzRmDg7__PzZVylGSWcORXSqyrrr7A8NuoFqY8_ttp-xoEOxACEqr_1FrDKIeu2Anz4lah1lw0Oi9TiaXrLdHOZE0o5w5l0M9tS2hecm_m9f2ZuFDlpgNggKqhUaRaox3Y3JpnBXV171zrL-NzB_Jm_T5fDvsphbmW1VLi8bLao7CYBRiXPhrRlFxhSIwx0oVQWbx2A9_oZ3k0lxLHMtq4oJ-jfPJdG0L9LbGzfQSJLWiOFwYCyMxBK30wBUfp7drlrUOcxtZwk8yuUYZghQ64QFL4lnH3VSJc8WzSyjg9Xg-UNQThs2T9oJMnfvQ04-nHNJmkjp1fTWpcTgT6vnCcIFBunR8WrChU0t5G0KO8LNjLNJhPsnAEQvaL-7-dm4DXqV89HUfvUfVQ61j2cQ-7IRRzKQkuUGR3WPsKmoQAx3PWBom_RBI8AFAwFKry1rDUefHu7jQGqAHqPbgeO1ayLb8E28D2BlA7iYBZT0HqiE_iH3wgHyNMEtlQKfEGsGD1tpEUFeAX-WKWGfwYWJJxPMEwmR1OJFY5K7_yCkH4ghiEGMMGMpoAR9izdWo9qnwDmzONGtiUb2lwmNTxZNbJb3Ad9WHqQZibEjCiIKUSEzvHXPJYPUrUZUPiTP-ZC7THPY_4LwN3RN7BBX1TV57WBwiv4tccoNAYqFdpDuADRAkuYHPFZihSLpsYJ5Ijes2YGleLI9x6Q9cgtP7JhRnx3uEXa9-YT4CBkJyQAvl8D02Bugcp1UbvybPgoQvrhpvwRZpBvhwk0whbfbc77jFnVDykPwrbvRogNqQANmjR7xX6WCBqhaZ3wNy1vfQXiOfeNI-K-0uzB10VVMet5nmydW18tFjbuQtJG6v8qcTQ2LXUTIpi7pAdWdA-26b01SnjT5ubmn2mwAprSKFvHBJ6rukJPgELvGYH2fzejmspXZUulJVjbVmJuQ78YnyFhBM4ISd0Fkvuys38LUggSKByaHwWN08I4o-nISdNEN08nekrsozNIJFcBiIfe59tYrrBETTlF7Q31k927KM4Td0BBEr_VkI44PFKD5njS7W19YVdm3R3UGz4hvZBOXkeoScUpo3XX-1obltRYz8ESCY-a5xd96Y-jswblu05kUMxvHJv-pTN4mRmL4NuPl6cQUvPljY4xssM5xWoPgA7SHZZZvtAgZxSZ6dLqxAeFQpXqlhtXPgI4UY8il2LG0EjcZ4NKJK22EjAhVlKKTnpxZMUlIUmdT__lPWcLbLpTsXmAdgmLAgPuhu5LasvArtcLVLLizuR8TbMNAlZtJNFQJXD79WB-EuzeDu0Yjiref8D4O18JoWUZYOzTR0SFYxdLBJ9s1nqs4KpNy4TkXT_qaYQH5RQGMak1sGm0yxOHi6tUqGF-WgTH31BaszDqFKR62deG0-Z2zxaxXDkknCMotCuTT0wqyMQM8lI9xkux55NwTx-w11DmSKXazGf9gNCTAxHmTJzJBoZZwwxBrwcabGIp0seeuwGy0aIm4jfVoRzVE1Rkn1_jTD5zIJnyY-_NQqm0BuI1SbC_vK2ewyxdj12FNJ3hE3OpaUx6jJOb4RQgiZLr4xaT4iINmCY0oVy5Ja_5BAcg680dqG2XgXd1-XwEgc0a0V3DIb1HFpFxVhg2B3BHXJwo4RX8Eww4rL04DbK_KoxMQaE1KZw64Zv8lfWl3qTtZrQr0Z8kP2n5rlfwQjqD1KgtCXOApAn0YPBEXVgXFR5GmcuoK9vyIh0F4lD-CY-YEBfD4SVul_V__-KC8Liwc79td2XxdZA_qtTp1Vm182eCPw0T64HvbvIDRnUDU-GiywN6hjH5xUbmRqhW2G1Zy7aKHniv3HYJPmHvQ_Fo0QaJEXR5liqY2Wk7vORcOedrgiqYuCA5Xnq5hnsPP4ImQFmygdbCOkrMBY=\",\"summary\":[]},{\"id\":\"msg_0a6cd8a90cf242b6006a8be3f2788887d08c84e59aae232de1\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris (the city proper) has about 2.1 million residents. The broader Paris area varies by definition:\\n\\n- Urban area (aire urbaine): about 12 million.\\n- Métropole du Grand Paris (administrative metro area): about 7 million.\\n\\nIf you’d like the exact latest figure for a specific definition (and year), tell me which one you want and I’ll provide it.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ad62f69c9106b0ff",
    "trace_id": "8e6387b4787945b287e7c464c345c8eb",
    "parent_span_id": "934bd777277c0ff4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552755.213,
    "timestamp": 1787552764.79,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0af5199d2d9b2653006a8be3f34a4487d0a2a7c4be8ae3bc68",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 2007,
      "gen_ai.usage.total_tokens": 2088,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "A few different definitions exist, so the number can vary:\n\n- Paris urban area (aire urbaine): about 12.5–13 million people.\n- Île-de-France region (the wider administrative area around Paris): about 12.3 million.\n- Métropole du Grand Paris (the intercommunal entity around Paris, smaller than the urban area): about 7.0–7.5 million.\n\nIf you tell me which definition you want (and the year), I can give a precise figure.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0af5199d2d9b2653006a8be3f3bfb887d0a477c6194ce2718b\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-P8rArW83cJwDTpAubx4t-FTL8C2AvwxCzOgGN4-I-II-SUu_xle8hGJIsCP1ga93lapWaKTTN-AuqciUGBzcQvnTGisoGaWYn5zd4BU7GAreYdHRK3Str3K9ERDiyMogCIefIJN_xLZcWcTPQLvz6lFMaPbReRQpK0C6lBG9U6q7lpBvVovYKZNcuJh29GyBgogJ2QcBGrGhkNh7hTzcaiKwC4Ktrci2rRzR9rJj2CKIwTljRqm3Ln-7mjuR3ac8AohYnrtNO0TSNc6rXHG6HQHYJ0r8Fmn1-C4FYkDJyFwyJI5whLdEB1hDdoDdEhtnBSGqqEXsYW0YK7pzIsd1jsFfnZBAZqIqN1niqQ5UfvOFWYBcVbFbLqtfjaXwEVfkoH3tJ7fVpMtVeGrLDSTTEH1SakN1BuCRcZPhec61B4_NZ0Gpphj-o8udVzxGtGTqulAWIACLjOzIlfdIhwCG1uI7WgzK-7NGkNSCHWmNy5uq6qJJNBi-QxsNickkUlEJq-tQ2ECCuUaSKFAfrGNABCdbOrzLNmHwE5eua4GY0jYjGqqO_hD2Fi9ixEnktu70u--DFzYZtNzEb7p9Ie7UREsFujr9UDd7SQ6_r6lQjJTx3jzUYqqN4unYj2WPQz7FbTR9C6qV6Wd3Ll__1xI_GgTqEZDZELhmjF1zPJmKlpOMXE60kqfL6TzAd5gZ2oqE7xrtf-lWPXavPD9h-ZayhWbdvyyX2D_xiJUS7Qx-e8hjg8H-vPHPCkSeAL6AVCeTyfv8PjCf7TcKdpjSJCgfmjQXJ3hlVeFustDuj4IGcCi86KEARJjD1I1N_xerlv9F_cfiL8oIUgfZ1SCkcmLVKluV4vSrxj4BOwenvN1gXRRIAvEVbGO7zBvEg3EA8SwCKkchnGeruu01F7ppezUQaLgl_r6MoR6Cc03dhD0j5wndUFUoh-NuqQ79ojjGIChsj3v9BBG0S1_MxraCXcKpmk1KGDAlPkgN5pLycpS2-ylWPeioz5N5X9wEZlf-MDY5cd3_7L16Xjq6evqDZCA-bMTUWkuhjLkyJAenunH-_gZ4T-BqpxuZ0Et98y5YCKyAOB9siJ9nFeONcAuHEGsWlekLYgFf3XPe1vvqNFO-V78kBoPoclkVXRJZYWYr4amwM4jhNv60TNYk7fVWjyBTfpE7Ag9YTeG4zOR3YTVFg-8M5iSfDLg0cdXvW2vOJ3X_-ztiygAKcdh5z27CNgVQEGFAeLZnbOY-VLQAbexdCkBByV3bKKTdNzTkJ2grR4dwdExms5guhCeWq4OsJh8ky38cnmwruwmQXLvRecQVNe0BzE1w3dfFsMe2VaH9U5j1I2Z709TQambVfBIHfhQEplODnPaoQ1ioEYXUXhg6UCx3NYrCSDpl7HDQsITCSJ6YCLUx27Xjf9hIHu5rmPATCoZ8Trq4NmTcY7l1jR66SDHgf1EvnWE_ugrjNL56hFadweZQgpmdFEX2Xsh-JfGInQ8iLhd4mMR9FG0AyvLqM6gVuX2lvJCI3cDs5lA5FZuqY61qfrXjRMXpodUF79cIJWq3Pmx9MvWEEcMka8adoF29iM6h__dS7HdByzYSYqiHt9VOBy3LZZGYWYv3OLtneotoNDBoKmdZDJTtieHVASJZz4DJhc-9IlmiB30-pUWzFMK-AxpGhTyqIOe9BoOW_r1vix31-NZVIKrrddUj9YSMGo0vKHi4BtToswRqKUWlbvBmo0ou4LDr4fqcow2CkDb7KvTHXkDICTCosLvjhxjk2z-4jIpymv8c7iYzx6OyisFeZ8J0yANsZsBsBTmhqQyyJJZJBd5agi06WISP4I9MDLEq2_bOlw-u8feQCHLZ3fZOsYOkw4MFj3DnwJo57HMcTDLssc69RpjV8H-yj1j5lLGlzlcl3gk5NjQv_32bQyJUYgNjGtwKkoxsVXd1SaDNqHjjcdl8LBHZssi6Gi3pQQRDi0A8O5XJqyJnYtAgxEP4wXtgpxsuBzAKsiaHajGUUT6hWF_VkcP8DJP0UzjfKn1st9lsgc-_eMtiSDhauuzBe3qNko0REx_b-BRB6QHQLLrwybQdgQE2pIRXAtXjL45HnHliIPWUvDr8KcNJoyhjMVWifVSi1I8o15QLimnPPExGbOFuYp46cIuARr0PC-Y-L7tOc63ZfGjKTNZhRy6p5O7mFN4kD3m-IUCU1sLvK_Ykvo9FIQqhZ7aeWZ1whK7_Ius1vfimOljGE9Jn-PDr9IfDNSmL91SSRQ4DjraNhE-ZN0m2shSPwxv1j3uz1t5LL1RV34D4X1oB4L5M7OEDXvQNItXoGCBGaAOxqIlhOXFd6j7mBGdlgz4M2DiR_RUzUDpCWDgLQi4tnQFTzoJyuG4YijTLnvDdIrLxrszYMXa9kDnvFpI1jhbrpnIWZzFw3YSSzKpyqm6N5dlH3_DyHy8WpJEj-XxPWyJyjGerrpL_sQHFK6t4LGOslXMV2I1ehJiG_LCNeorBRf0J65lyS7sbT-Cj4Q3KYlouUZS08hLx5Z1ORxK8S9wFzNpm9XVaYVwD-V6nQgjkFmFZwRefx2kHZDO7dDFd1dsPSRYKsXqyjU3bcOFI2-Y2dEWVR_UVOW16MCSw6GN8irP2bA0u_gNZQPyl2UPY0wcXdSi7fldyp3HNIW6MVi9D0lBROPwcfkaw5J8QYkeXNSAgZHwN6F8r_XoupTTJeNtJkvhUPKWfHlK8rQQeKZY5BeEfeWhlKcIC3enQoNdP3zu1Z4RGRtCtPf-KUYy8hBZJRI-ufA9jSLt_HDYQCM-eJXepiEfeMdvBmlG9jqS-Mb6_HYW_BIp0z4GBYoWVeJM66XGqTlMzK4QV1SkjPgOQuOCjrmGE6ae9faxD6qezRjqCV1ckKW3cPmhtQj8pkmWK3MneNdd7ffO5JdRv_EEGIo9MWIncTGIqH2-jNKW6mlhOION7a6nQ1HzQo0Yka-oazfmRLqlWXBvA6kNKqOfN2LKkSn-CVmhP9jnouomipx9bgb80EdwmgtYV48WKdfGP_thwBqfgT03K7cuxOpkuleLSWDrfC5UaZpJJAZe8midxnFVVbAk9mlfoL0Nj0HaDn_QjBSEwbCbMuj3Wtb-4FXQ0U-120rBER9OSEVP94PDVnD7Jh-DzlJA7bzZpnNdKQ8yypBeDS_kWRW36X8YTNhT7cSabNzU0nlEd-Jwkcd7fH9MFMCYXqlk4jN8nJbHE7zLK0ZMTO1DNIjGhjRHZomoj1lrlv2o23foW-BPWFlJuzpX6bKf-0uDTARS1v2VR9roCan1k1axtqjhmrR_AZV5oNZw-KFdWEveUwbb6rgSBhEUSyBNlAfR1LuPoTCIcWukNqiSAdw5nGIINYhsd0pfCLflx-a9DaZj8gmQJF8JwMH5aXLU0kmetVLrtjCOl32R3u8J3AsXHMzyBQOaRDBr80eGOp-4Z7FXMQm-vqmF1VLHuSwJWuJTWgl0Va_c2XMumFKkLNqstSlz81ktMLxRdoLE3rltlQYOH92uq4c8AEu-q5ScHFMtOduoc8UJNGaoQKXAI7r4kGIzanZbkvrEOF_wX8wGOJuqDG6tYDAOaJsdii_0mG5vjmWTOkrSP32HIrxcbelP7st3xCekBuwACYjBAe6Q9yXfcBk3jnwbjGjdhGOnaf7ogaJfpApB2mbzsQbhorcqtr14HadRmBNqyPwQc9ZCs8FirGO_siTs_39WktQ4il9Xd9GV3J5jksMzDNu6gqVotw8SpHo-F2A5_yS8ml8zyd_pb_q84oJYRTixfPFmQQZKBAbktL8U7SgP3wTvVvKexFUOe_WGby6DOIUn1lMK0TtjbDiNL2GIdZxgNsBgWholaLsqhTQxLcmrnC6qFEccXMjEXguZ_u1nn19mspP300XNUQzMnDdv4bW98MRUuW9pH5WykSg0y2nDFACbb4sjCjA3XMhpKfAbEZL40gLuJQbkrj_0qnXZyi7eZqRlstbffx8cbg_jojA2adoGdKkkmxaQMpkKGYIRm5LQ4ZgIOFmQpmqY9MDVdSYgOHNIv9DxexI6AFvg4lYPpe77_KMa4aY6PJRvuHRCzeNnZVbH0Y-kkIVXXGrJ3TPPw1g9M_2dpM428dc8wsgR4y1Dq-ROkzW-JU057j6R7M7YAgFIe8SW-NITkOb7uO_QQlih1KmkPo52-Mibu8Eslqva9QEL27MozJ6X9R0dcX8cgvjaf_rF-GFECreAlNnGB6SNaIDe-BOJnFoHbSPSaSSG9Mzh7omfo04gP5cakkG-1F-X0kvI_eR7CFbKAOGd1lkfjnl_1421Fw6KCAs9ZoLNqxdZU9QqDED5RHN4h7gcTZj-wUirQ6Wrl-MsXVD4Gg9gQ-4iQXPjrEPv6dE63zqZnNEZarTBjvKWe0iMTNxgxk1WAL3gnz9dWCE2vA6O668Z2P3GuogKai2En192NKN4GB4fz29l9e7hE9F2v5KE7MFp0Qm_PzUaWwzgcTYbJS08QG5EGLbS4UlEZ6CdFSuOaW9TEXzYbi_ZELKIpFr5d0TIQIycq3JxHw82_BStu4gmwN6Qi5NANeUdNbItzvMbeKrn6dSo96cwKgNfKfIPMbl8v3pmfTrtKviLL7ufBsS2_K6VSzaQnRVFkT3fRmVjYQJXpqieH1_eDSNtucQvQOnbnETiD0tHaZaunyKSSR_ii-xTub_XdpEcQIHCbqJeuvf53jh1HM-16tMH9SZUG30NuYa0UM4ykTkY8-mba_6EzsfoNmK-0tvZdQrC_ySqy5BepusbMRJCeYic1d2uojVFn1Vmbg-WzcINs4rjEsWFhGxc7PY94yFsgLSJdu38X1RhEJVoya04jpU-4sIadGiUm08nvUiQ-GYSRcCXK9oLjYzek4reTPjjcw2BOzMaNXIGRhrtOU1ITLR8ZZGROpESHlUjsQFU7LBzjsHuTF7q1jJEjpxP7Oy96M9DbDqdlDyCHH7r6gC3LPwF9KYiI9PThofqXD9D9g7uUgzG4axbSH9Mo1sXUIIyhrdMS6NsQST517Fk2rRXgbvSliiLo4WSHR4RpFaqeJhL3s-6bovxU_Ui_b8WcAgKq1UuAtOfzBTb0TkX7v85Mek80wGO209rPBh5WGVzSNngV-LlnPSRYgbY2LoecJkOl7sroqJScXVOYVteTNYUVXt62VqpuCWXGqOBVHHZi5SyzO0fSsDGZYxE1bIz9AmRcJzXGLlfYlZhl2sBz9n-TOswDGZ6cI2ZOBPJ56qwHaNMzkWIFPWszfHyZJ86pI-Nh7r6I0WOSSvSNXPcnbxm1Iich7hrplmnav1DXEb2u5Bb5QWJ4c6UcOJIlnIkylkPZT0icGPTNNAhBYVNyCytZGG4EG6b9Ubyrc1-Meg3Cu3wFi_TnJAof7rLk5dGnf7W8M4yh0zRQV2T5tiXkMY12STIMYZ6PB0AvkL0xC7Z7BBlj_3sE93llYf7xefOxpO3MSNTr4v2HsUbyrfwynVGBLC7L_MVc_eiV9UF-21jmb4xv2e_6wqXW4PDr88LcuJyM2fjRQLKfukKfEsrSdm8KHMek9eYhkGtBeC2zRhrWb0haB2lz6snw7-ce0xqnLIeSt89bkwuWSsRcgCaiLEONwJ0VWtqdUmHZ7LRmJFS8TDmnIE0Og_OY-c5fmlYSVRCZcRBtRDfdIYZHjiDZ-Z9BSsdZr99FPlQdc5Z97MGRzsS5isSEMMoQUpJTbXMJteA6kHlzs2Hi23Kzo56MJiTXIc2ycz28E0rnBsaxlMxp2Z_qwPCOtxClqlqbZbjnPf1i-64RQ1v8wwhVqMBUUW_RuzUUKbjCO-2uJZ5ZhcENswLNfFKlPSrOzXiOHAmdETD_SAz9eaXJLLx5qjD2J3jlu0fwY_ecCRNaJUqjyIsX3aLg3CUxD2InxMy26doxD-A8_D1EtQnK80M8bvChbk3M08sd0ioaXGBsrDwN5fwzqTJKAXWmlwYgfwSjLt_k0b-dLv8xr1yBAI_XNRsAFoQuELB5elgeOo_MJ4RfTCiZQcz_konozfTZK5BI5fA5D07giJyvusjsfi4R8SCbjFbRZLAuTyyBC0dSVyOXbyKnO1huIKvEo1oXyViFgGy4B_1UbV6K7Pf-us7vktKy8BqyAHBf4sAMRxuTHJi0zGgnMuQO2cQIKWbDc8SIF-nVnhlifFoFmQGYdrtf-TrRZrx2QBoHGTyaTpvGX2lZLb7qk1gfjVJv22cSplaGHWsWxVNylwH12inli-bsj7rE99S5VTc2T-eTEV8ckjR-zqe3KefGsQJlTnz1mD5bGybUrT8u5XJ34Aw4FBPtYNljaMJa3VdjEOe09s2l-SxCJZ54yFOnwfNFjIrNFzF0rZx8PXytQ7ctcbD9LG0Fabq-lOK7_432AeVCDpH-fZZNNOxbUT6ktCgjTzLsjIDo23OAWmGBWK3J0LQGgM7DMWN_tLTUP_u9K8NEgddiVTVmFt22E1-NYmBcw144UBdjMkSBYnkfPa2gr0HCIjtWTt6MDlx6BNmHXsHV5hDPq1xu10dzHXjO3HJp-_EgpyXq8nbtVPcLSXdE6TfpQbOZesQ6m8tGDzqiGRtkO7PjbPEPP-D3cAZhO6h8Yhh76CUJJcnYknFUvmDrNlENowZi4D8ms4Kq2jvfA-lHPp1IF0r2we2d-lKXiD4q-uexC9qa-2atLumNSvfaq9sFk6O3YWDDIdWVJpjID8uiBGs5naCOqGmKdAKhhxk-_2RhjrOXhHWCYOpLihfW6zCXsL4UIwaPRk2yvNdw3Mo-AqYk0OONrBVR3ObU7PV_bJiVCSigvdU7Yag-f0kpoyM7pq8J_-hty35hEzWc22Xa7Gi0RBVqnYwlsl1cI9elFUS92Dbf6v46HlFb7ePZ-lj4rjGiqyy1VKCMKUff_tEwItI5Rob-264-YXXpie0Y9Fmjo9AzgVjoyax-rORWnwF_f5TdaS3FuzcNkqJarePLRCdFBkVrrrycBjPNS59vavleiKymboXvFK0t0J_czSWOCIeHNk5sW6gdrRTOb85NS9cJzOhLmzbtkK9wpuLbZ5d9OMxEZIqWszuVG9lsYdTUeYOJ7Ok0eFHmc3TnETyFs6X--R20sNqsMPaOaxCS9E_SLI1fEdZxWw-Y7H2QAADoWA74YtpB1vmn47Is5pq2AHKV8PQuqGEXypGqcGrCxFqzgGrCcgQs4tPAln4mrHl1ZBYmkGfCi--bY_RAj3j3cX6yQBzkV65TmA3xVLCUMQWl5KYxMzvRk196WY0l1gN76T3R4hlEc7GVZVQZzM_EIT_EjmhZSTb1Z0YpXEJhCOISFI70fpaU_vudlfhEQAkmaRmDZ9t6D_YJK8FxBWaCKyGcCNgbjNvpRdLKqr9n-aHoQ7uDwaFGkzFREJiqjZLNTjBSjhjL0XgvXmjsBGW9c7jdTDg_RTErrhYWHfpMz3Y_atiD0qhIaHDxbAvYqZFGzy0ubmyAtGslGAAUo9bIdnHJLuuHKNo0AJyFlH5AyfO_nUM4I4UeauEQEzw7bxwdQKu27GJS6MsEOtchGUZ8VE4Yr-0-w6-G5laUYHYNPzpPjMOaF328gNEeDSpqg3UC-R8kX7AfGUlbW-p4LZlvu5QhXaHwG2c0Wx5MxvGqtcEk723kl4SD20p6iw3IV89FV2XQ8FGKnuXwxb1Zk1dHSfwwvD1MThVSmeZozEsCFlCj4sTRxML_4bpJVnGqRx-uadEQBgfOAQrqATFYi5VxomwsZuuND7riBB0-vzFJme5-nBLy86pkwIiLsP2TCf4h86r44gfWAPpieXjXWADTh0Qhe2Nv7i49ZvThLXOk5X47bTTngYhcfS-vgO2oF8rcmsFODNUCq5bwX6iRmPCRvddt2Dsy4ez5kAqnGmXBVt0GVngJZmqgNhxiNUUI97qYt5_t2rd495O4qw5NvQv2ivP_eX8t0BoZJWd4rmIl2Bneuh693Pxej4RYVIY5gXWubm9BYoRy-hPvc81fnjgtddxF7GkKcccwXZsyZYeXfWWreghrx0rcVqzeS-meAKjj_ALacldSfyReXiiiTFDt1aAT_7fbqqVJTTbA91K8GW7x7Cd-ul1q2EgR-tzvUlIZ3cgz58_mdtURlXn16Fj5sbJSXdthXXDgskR-no0VX-vy2ELU2IcCv_-E7VIT6ufXkS4mu5eoABtJEHu0Bz4P6UHgckfqtjX2yksl4ZJkyIVA2W2SFibwMR5hWzN42Il30NhTuEmWeNKZBqKGvRgkjOPe6ltjHdLf6Wpj48PM_abzmOMcPX1szJyDpzR7clD6mJZybsjdoW8EeOxQsiSmggS8vHr70oOrIM66xqxb2JwAouRrHEP3ZoP_yWuhTx0SkoWMTdcPl37UCz6sPmp8PHLydYitHjpdwdb4tAA8e-JtEafXVtKU4KkeJHNiNoiYr6owrX0V7f6nLAfXnYgeJ4UbEQ2Mdwpds8OmtruH5ZWapcfN1jtBF51IXiAKQIckslQzdEIzV4XWvOsN7G8rPQFKpGvAu0eVE2kC2iSYbrOARVgA4io2GEkDUDM74Djh8LEP3k2mLObneRJPlqltj1aZERMIMwJIlJwkF51fyCPD-DMIi9GdGP89rmEiwG8_-us7086BD1bPB5IY5hWIFiSICeGxZQr1bgzY9MEYRXvNDR7zjnVAe35f0cuELNl-puWnVtYVrpbf3IqmEaih2le4oPF7HZmbg_zRv42-NwKeTqlDik5PTf0il3YuPtArupmc9zi5-csVdrHXTcnyw8IFUPhVcLTtp3LzA26JSj11SpJaYcHaAMJuinqDrEigcE358bc5JXkWg7OcXgjbUlWfecdvQ__LWkYafvFjAz8mIRANnnaZpvi7FJDJipK-UeTWbi7u-WRbuouGJqlhsTK1BHkt0_ajoETfj3qtXVfXCLp-3WV8j8Idpe-5c2ngbN4oXMerb1oGNKlo95bRxtzhm3dFXzt2pXMuD8Sw54NbPdBUnwSA5J-nW2ndEP_vU-3wwrlQ2xgdYmcyzSu0lyBP-obFs2jzrP2vqS00Ld7_7a6kv39RSEpEdeiVyKQSlT6Yq3T6fKDgl7imQDjWk0Q75MFBR7tc2SQGyaPr5kwgpozR6Zhkmtyn__jXGbFcQAKyX7A1LgO8jwGvItqZf2Wy5LajSJVNmMYVuHOP4GqRbQ-wCAL3abwnjNgr8ovi-NTHzM5tYvx25YUQ4iuSaJ-w7lOCEcYWrn2GltsRC59EC61fuOCW4T2miaOTQWlcOSduL91l5P6e-v7gq_RRO2QvAn3Fx05cfGsBUcxJoXLdoHZTR30tFyEoDnwoj_6Tv0IeMoss1BMNsgIo4kCFvTPlyZgRhRJFVbG8LU0Q4HIaZhsACW_CwTj8juZt4jU7rqbRnK-QKNlP_-eMMqjiNtAgHV88D8mDQdx92ftCBfaJQwyrsfZ36rVGHwWc3pi8k5uLIRND0OJzkDRfahX9dL-yaln93e8VAw-blnD6ALERC8khM2pab6fKyzPYKRK9qtOyANqA9UfaXXoGRDRcT3jG5-GPfvVyeOyLV2YtNzCITPzCqcMiOr5MB-7PufnZevCsmrbeBfcQenYyLQ7qX7h8_qTJ-Dkq46PUcm0hPevkfAtNAIpwUfRTRRiaZR5lRVASV5I_jacstQHMqCQxMIIB5_kwL-f4E7sAZ7GQX8FON-QbtTuFLrWtAOUVaNArg6Z_cAvNgrY9B7jm4ijHHk-YEKCQ7xRHJhCx99Dz2SFHqVmCeRALVrNs45DG0LJEHchD1z_S1lWnYQ2Ccn9lM2_OdCgOeFU8TNGe7Tl8bXETZPcMG4CjVCC1Yb9GqDDmyWFZRUoa4e1VkvjLzb8rODQ6H_oJNa5_9FH_iWLseN0cD_AHdLjyTUjV1CtJodeURO6b62CEk8_KwDDlZ1e-vyfnCZTGM__mUQXaD_68DOkteXBwhjtbkJHZ9k-b2HSwTh5ZLUexSRlfmnJ31vxNFR_mIRXvgN-tLxhZifJyZuw33xPMhIOw8APg3fvPvKBcsfmMF72JKGU4ewRLoipMi51ZLbHM3_MJlyuiJid90cEfTv4-FwGSevWCnVqhQlDByHjlYlVnzOISDCDRU3J_zEd9qpFubz1vgU51tx8rzfVMP-vOo2yeZs_JHhD_42TgCyqjuC14rWGcvqjKhZLeKZgaMDHWaVP8fRscgIEy0HvElbJ4Ghrp1yhPiwHDL7WlUlHslsRMFzECeUincfwa0pgmaW6-yasZcVO0lh9RekSJOM8_CNFb3mnNH70Tb4Dis4s8ZPaTv7dnXt4bwFUNG0PoamAsah9_Fh2un8xdmgMQxArfteMtox19hE3coQsq7YRf8Ubk8saMlk1TX9t7IoltJtFWkTClq3GbWeJV4WyhwJGUz9VBHAL5BKhr8rb_ErZ33WOjYLx3GluPJ7RnbIRrjlRSgFBORfqzvynRY4QixGqXj8zYIywUZ9VfmSp6AthYhJhYLznWzGaelZsYwQXpCi80GuMWUTQtLRntG1V0WHflkGItJ9Kwvr0JMsPE6YvNqjZlEOcSIVroU0-HaCzs3J9V3jwXB-LHW2PJdfM_uQCyf2QG0rvBRafyUYRBeV1GuI_Z4wOdMe18LlGMPa1wDW5602jYw1JnBMyBZDQrgXpZnbxaego5kNLdEwQJsFN2rl3lizH1yqWREPtJoin67LX-rluYUoIsj3gC1nOONnrqutukPF_8GPUzeKcwEKhgqjr5FmHPVP_XMmpaiKQ0ml7b79dzP0GS54j3rD76NTwpl0bmFS_JFvBOKk4dUkObrDulmJxHfK2mH_J9NtyDRd8MBwKzRx5uUlVPwvk-o3D3rHr7XWy8_qgnIV5asyj7q9a_yqHvUFoVxq9Om8wkLgMt4uqeTwKrTk2ufaBZBQKb_HRpnvvX5EjZuBF7wpukzfjuR4wUBU4fa-mrhqJD6vwWsjBxyY1Z5ZwLUC4gPHY5djvB3D_w_difJyqFjE13oLYuKcelWzP5TyLKTuUPUe8oEqMzehk9e7z-bypFIue3qneNsxR-etKaucEbnXAzHtJ99IoQywayfO02Nk4w8Nk0Qie44V9zhLgxrYPam7GPyU90m55Xjy7LDy5k4KYtm5jbs2r9-sXCceaBLEjvg8fy3taj3XXhz9AwP5QB40FqZUmWk93JWg7rh2K4sE8_WpfwtvFAYpiAOgUYE16SCj_I2XWJBQkiwEGKXTqP_W_rr99bsJXeCfij8rPUrsbIyR05p4z2-bk3jzK-xyx1_zyIIiNkOEc_vNsfuAkM_9hdOScmx3ZREEW0NjN2JT-1DHjjCknsc2eDNeQ_UGadmPcxOdVmVWuBhwzn_qlJ-WJghfeT-A7VQqi5jwJzKfRWth8svz7hpEDELKur8C80hOeLjewPCxC6wzG2nskyopfm3ncIwlTaCNxC1gZhZXJX2avUVoNikFAFlp9ncw3cuPLUIyAvVpTVoy\",\"summary\":[]},{\"id\":\"msg_0af5199d2d9b2653006a8be3fc0f7487d0a74a49310955b5ad\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"A few different definitions exist, so the number can vary:\\n\\n- Paris urban area (aire urbaine): about 12.5–13 million people.\\n- Île-de-France region (the wider administrative area around Paris): about 12.3 million.\\n- Métropole du Grand Paris (the intercommunal entity around Paris, smaller than the urban area): about 7.0–7.5 million.\\n\\nIf you tell me which definition you want (and the year), I can give a precise figure.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Multi-Turn LLM Test (blocking, chat)❗︎ 121782ms
checkAISpanCount(3)
checkChatSpanAttributes
8a7259begen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a7259begen_ai.output.messagesMissing output messages attribute
9d6271ccgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9d6271ccgen_ai.output.messagesMissing output messages attribute
b56e9306gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b56e9306gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "801f1c036501dc41",
    "span_id": "9a7b88d64558ea8d",
    "start_timestamp": 1787552746.213,
    "timestamp": 1787552760.889,
    "trace_id": "94fc10a6daf841658db26d824790811f",
    "origin": "manual"
  },
  {
    "span_id": "801f1c036501dc41",
    "trace_id": "94fc10a6daf841658db26d824790811f",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552746.211,
    "timestamp": 1787552760.89,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30743/",
      "url.port": "30743",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30743",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8a7259be4f96712b",
    "trace_id": "94fc10a6daf841658db26d824790811f",
    "parent_span_id": "9a7b88d64558ea8d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552746.213,
    "timestamp": 1787552747.266,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIPq7FRME2k13BGMe2j3B8tVgR4j",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9d6271cc197cc539",
    "trace_id": "94fc10a6daf841658db26d824790811f",
    "parent_span_id": "9a7b88d64558ea8d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552747.276,
    "timestamp": 1787552753.126,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIPrWPLDtTObe1cVHzuUderSyb92",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1110,
      "gen_ai.usage.total_tokens": 1158,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Do you mean:\\n- the city proper (the commune of Paris) — about 2.1 million residents;\\n- the urban area/Paris agglomeration — about 11–12 million;\\n- the wider Paris metropolitan area (Île-de-France) — around 12–13 million.\\n\\nIf you tell me which definition you want, I can give the exact latest figures.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b56e9306e748d9e1",
    "trace_id": "94fc10a6daf841658db26d824790811f",
    "parent_span_id": "9a7b88d64558ea8d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552753.128,
    "timestamp": 1787552760.888,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "chatcmpl-EGIPxIFuLeZMSZse4IzjObMmIzMJ2",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1585,
      "gen_ai.usage.total_tokens": 1666,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Roughly:\\n\\n- Paris urban area (aire urbaine): about 12 million people.\\n- Île-de-France region (the broader metropolitan region around Paris): about 12–13 million people.\\n- For comparison, the Métropole du Grand Paris (the Paris city area’s formal intermunicipal government) has around 7 million.\\n\\nDefinitions vary, so the exact number depends on which definition you use. If you want a specific figure, tell me which definition and year you have in mind.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Multi-Turn LLM Test (blocking, responses)❗︎ 126625ms
checkAISpanCount(3)
checkChatSpanAttributes
97a72550gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
97a72550gen_ai.output.messagesMissing output messages attribute
a8119714gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8119714gen_ai.output.messagesMissing output messages attribute
b5dcd814gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b5dcd814gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "multi-turn-llm-test",
    "op": "test",
    "parent_span_id": "b5dcb78b08325527",
    "span_id": "8049e472d712f600",
    "start_timestamp": 1787552747.52,
    "timestamp": 1787552767.844,
    "trace_id": "1269f7f76ed24453bbb105a8ded0e0a0",
    "origin": "manual"
  },
  {
    "span_id": "b5dcb78b08325527",
    "trace_id": "1269f7f76ed24453bbb105a8ded0e0a0",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552747.518,
    "timestamp": 1787552767.846,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30744/",
      "url.port": "30744",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30744",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "97a72550cad5c975",
    "trace_id": "1269f7f76ed24453bbb105a8ded0e0a0",
    "parent_span_id": "8049e472d712f600",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552747.52,
    "timestamp": 1787552748.996,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_01fbe2b249f6f01b006a8be3ebab2887d0923c076a2ecdbced",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 133,
      "gen_ai.usage.total_tokens": 156,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a8119714ee214a3d",
    "trace_id": "1269f7f76ed24453bbb105a8ded0e0a0",
    "parent_span_id": "8049e472d712f600",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552749.005,
    "timestamp": 1787552759.004,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_0b4e88340cd79a4a006a8be3ed14e487d09d009e0124326f76",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1295,
      "gen_ai.usage.total_tokens": 1343,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "- Paris proper (the city itself): about 2.14 million people (2020 INSEE census).\n- Wider Paris metropolitan area (the urban area): about 12 million people (2020).\n\nIf you’d like, I can look up the latest figures for a specific definition (city proper vs. metro/Île-de-France)."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b5dcd8144f2a3859",
    "trace_id": "1269f7f76ed24453bbb105a8ded0e0a0",
    "parent_span_id": "8049e472d712f600",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552759.005,
    "timestamp": 1787552767.844,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "resp_05e855e3fb021b97006a8be3f7134887d0af2dbbad07936035",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1489,
      "gen_ai.usage.total_tokens": 1570,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Definitions vary, so “metropolitan area” can mean different things.\n\n- Paris urban area (aire urbaine): roughly 11 million people.\n- Île-de-France region (the wider metropolitan area including surrounding suburbs): about 12–13 million people.\n\nIf you have a specific definition or year in mind, tell me and I’ll provide a precise figure."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Vision LLM Test (streaming, chat)❗︎ 1 17946ms
checkChatSpanAttributes
b0c613a8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b0c613a8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b0c613a8gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b0c613a8gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "8314c46c45bed677",
    "span_id": "ad1164737c368ba3",
    "start_timestamp": 1787552752.661,
    "timestamp": 1787552753.367,
    "trace_id": "e30b1d7721144a7d892ede4f9bb2a79e",
    "origin": "manual"
  },
  {
    "span_id": "8314c46c45bed677",
    "trace_id": "e30b1d7721144a7d892ede4f9bb2a79e",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552752.656,
    "timestamp": 1787552753.37,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30749/",
      "url.port": "30749",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30749",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b0c613a8cdc9479f",
    "trace_id": "e30b1d7721144a7d892ede4f9bb2a79e",
    "parent_span_id": "ad1164737c368ba3",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552752.662,
    "timestamp": 1787552753.36,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIPxxLMaHYPTadT5xYgjTU5VsbJ6",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Vision LLM Test (streaming, responses)❗︎ 1 18805ms
checkChatSpanAttributes
a61f8622gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a61f8622gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a61f8622gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a61f8622gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "b2bff6db6343a570",
    "span_id": "b40a6e27eaee057d",
    "start_timestamp": 1787552753.057,
    "timestamp": 1787552754.751,
    "trace_id": "075efce1b3524377a8171f6f00b88cb5",
    "origin": "manual"
  },
  {
    "span_id": "b2bff6db6343a570",
    "trace_id": "075efce1b3524377a8171f6f00b88cb5",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552753.052,
    "timestamp": 1787552754.753,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30750/",
      "url.port": "30750",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30750",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a61f86221e971d81",
    "trace_id": "075efce1b3524377a8171f6f00b88cb5",
    "parent_span_id": "b40a6e27eaee057d",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552753.058,
    "timestamp": 1787552754.743,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0b62b3079c83c569006a8be3f1fa5c87d0aa3e53f34c96573d",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Red",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_0b62b3079c83c569006a8be3f2776087d09e6856e09703d4b0\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Red\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Vision LLM Test (blocking, chat)❗︎ 1 19868ms
checkChatSpanAttributes
a990443cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a990443cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a990443cgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a990443cgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "993891e34140bc7d",
    "span_id": "966472275477a67f",
    "start_timestamp": 1787552753.952,
    "timestamp": 1787552756.888,
    "trace_id": "e02e938d23474e5c80e91ac0535c3af6",
    "origin": "manual"
  },
  {
    "span_id": "993891e34140bc7d",
    "trace_id": "e02e938d23474e5c80e91ac0535c3af6",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552753.948,
    "timestamp": 1787552756.889,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30751/",
      "url.port": "30751",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30751",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a990443c057563c6",
    "trace_id": "e02e938d23474e5c80e91ac0535c3af6",
    "parent_span_id": "966472275477a67f",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552753.954,
    "timestamp": 1787552756.886,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQ0lLmlgzPJu9CtTp78mbclYStH",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Vision LLM Test (blocking, responses)❗︎ 1 17992ms
checkChatSpanAttributes
a4f8c161gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4f8c161gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a4f8c161gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a4f8c161gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "vision-llm-test",
    "op": "test",
    "parent_span_id": "8a8f7251f2d04a82",
    "span_id": "87066926eae66176",
    "start_timestamp": 1787552754.871,
    "timestamp": 1787552756.242,
    "trace_id": "513b02e7209f4ac291ed7a23e9c10d47",
    "origin": "manual"
  },
  {
    "span_id": "8a8f7251f2d04a82",
    "trace_id": "513b02e7209f4ac291ed7a23e9c10d47",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552754.869,
    "timestamp": 1787552756.243,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30752/",
      "url.port": "30752",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30752",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a4f8c16131a97115",
    "trace_id": "513b02e7209f4ac291ed7a23e9c10d47",
    "parent_span_id": "87066926eae66176",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552754.871,
    "timestamp": 1787552756.239,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_05a23e85cab14e4b006a8be3f2ff3487d0ba13e60ba9c819b6",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Long Input LLM Test (streaming, chat)❗︎ 18312ms
checkChatSpanAttributes
ac505880gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ac505880gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "872089c7ee9f569e",
    "span_id": "83452e2463ffd68b",
    "start_timestamp": 1787552755.155,
    "timestamp": 1787552756.758,
    "trace_id": "85a8ee5f38bf49ea9008fa02c9437f6f",
    "origin": "manual"
  },
  {
    "span_id": "872089c7ee9f569e",
    "trace_id": "85a8ee5f38bf49ea9008fa02c9437f6f",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552755.153,
    "timestamp": 1787552756.76,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30753/",
      "url.port": "30753",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30753",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "ac505880480e11c4",
    "trace_id": "85a8ee5f38bf49ea9008fa02c9437f6f",
    "parent_span_id": "83452e2463ffd68b",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552755.156,
    "timestamp": 1787552756.756,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQ0IsqPEDcVuCDQ4Zs30jKVlIuW",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "This message is a repetitive test statement designed to create a long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Long Input LLM Test (streaming, responses)❗︎ 110172ms
checkChatSpanAttributes
89d8c49bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89d8c49bgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "925bee275852f5f6",
    "span_id": "94f61f43c400d086",
    "start_timestamp": 1787552755.902,
    "timestamp": 1787552760.187,
    "trace_id": "9ccfce192d034dd69865df9143db06b2",
    "origin": "manual"
  },
  {
    "span_id": "925bee275852f5f6",
    "trace_id": "9ccfce192d034dd69865df9143db06b2",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552755.901,
    "timestamp": 1787552760.19,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30754/",
      "url.port": "30754",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30754",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "89d8c49b7e5991d7",
    "trace_id": "9ccfce192d034dd69865df9143db06b2",
    "parent_span_id": "94f61f43c400d086",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552755.903,
    "timestamp": 1787552760.184,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_04231bb6d50add4a006a8be3f41a1c87d0a9538b95a81ddf8c",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5447,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "This is a test message that will be repeated numerous times to generate a long input.",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_04231bb6d50add4a006a8be3f7750c87d0b2e8068cce0164db\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"This is a test message that will be repeated numerous times to generate a long input.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Long Input LLM Test (blocking, chat)❗︎ 16030ms
checkChatSpanAttributes
9762e5cagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9762e5cagen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "a375fcd74e9876f8",
    "span_id": "9f81b1e9495dd0fd",
    "start_timestamp": 1787552756.835,
    "timestamp": 1787552757.503,
    "trace_id": "d6534a0c2dd549eba38c94dbc00933b2",
    "origin": "manual"
  },
  {
    "span_id": "a375fcd74e9876f8",
    "trace_id": "d6534a0c2dd549eba38c94dbc00933b2",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552756.834,
    "timestamp": 1787552757.506,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30755/",
      "url.port": "30755",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30755",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9762e5ca51b978ca",
    "trace_id": "d6534a0c2dd549eba38c94dbc00933b2",
    "parent_span_id": "9f81b1e9495dd0fd",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552756.836,
    "timestamp": 1787552757.501,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQ1MjmamqP7aaGHLasfIBlbHFjM",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"This test message is designed to be repeated multiple times to generate a long input.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Long Input LLM Test (blocking, responses)❗︎ 16275ms
checkChatSpanAttributes
b7102870gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7102870gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "long-input-llm-test",
    "op": "test",
    "parent_span_id": "a30db2505345ab45",
    "span_id": "8724653e03cefd79",
    "start_timestamp": 1787552758.574,
    "timestamp": 1787552759.649,
    "trace_id": "3641b60eef5748c6aa986f179f3b53d7",
    "origin": "manual"
  },
  {
    "span_id": "a30db2505345ab45",
    "trace_id": "3641b60eef5748c6aa986f179f3b53d7",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552758.573,
    "timestamp": 1787552759.656,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30756/",
      "url.port": "30756",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30756",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "b7102870e02f9226",
    "trace_id": "3641b60eef5748c6aa986f179f3b53d7",
    "parent_span_id": "8724653e03cefd79",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552758.575,
    "timestamp": 1787552759.643,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_013a0d875c11ccff006a8be3f6b8b887d0ac41e411e59b04fb",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "This message is a repeated test statement intended to create a very lengthy input."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Conversation ID LLM Test (streaming, chat)❗︎ 112670ms
checkAISpanCount(4)
checkChatSpanAttributes
8ea9487egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ea9487egen_ai.output.messagesMissing output messages attribute
9e72ffa8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e72ffa8gen_ai.output.messagesMissing output messages attribute
aae38cf8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aae38cf8gen_ai.output.messagesMissing output messages attribute
8221d44agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8221d44agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "931f211df6396f4b",
    "span_id": "94319faebe7b63a5",
    "start_timestamp": 1787552760.062,
    "timestamp": 1787552767.435,
    "trace_id": "2fb5be4529ab49d18f27d849b3f2d192",
    "origin": "manual"
  },
  {
    "span_id": "931f211df6396f4b",
    "trace_id": "2fb5be4529ab49d18f27d849b3f2d192",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552760.06,
    "timestamp": 1787552767.437,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30757/",
      "url.port": "30757",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30757",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "8ea9487e44b099ad",
    "trace_id": "2fb5be4529ab49d18f27d849b3f2d192",
    "parent_span_id": "94319faebe7b63a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552760.063,
    "timestamp": 1787552760.89,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQ4uwINHDEjg3rv82Wc4uDI6ZSr",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e72ffa8760dc857",
    "trace_id": "2fb5be4529ab49d18f27d849b3f2d192",
    "parent_span_id": "94319faebe7b63a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552760.898,
    "timestamp": 1787552763.112,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQ5v15TB4PleQ86AP0YOk9ZLiKp",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 365,
      "gen_ai.usage.total_tokens": 389,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "4\n\nReason: 2 + 2 means combining two units with another two units, giving four units in total. Want a quick practice or a quick mental-math tip?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aae38cf8a36b9740",
    "trace_id": "2fb5be4529ab49d18f27d849b3f2d192",
    "parent_span_id": "94319faebe7b63a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552763.115,
    "timestamp": 1787552764.6,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQ7dowhcfYZ7gOPuoYKDjZXlbdv",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 154,
      "gen_ai.usage.total_tokens": 198,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin. Want to know a bit about Berlin or Germany?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8221d44a647a0323",
    "trace_id": "2fb5be4529ab49d18f27d849b3f2d192",
    "parent_span_id": "94319faebe7b63a5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552764.6,
    "timestamp": 1787552767.435,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQ81t0gMZtVgHTW2IuDY0LIaD9d",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 440,
      "gen_ai.usage.total_tokens": 490,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "3 + 3 = 6. It’s just doubling 3: adding the same number twice. If you’d like, I can show a quick number-line visualization or explain how n + n = 2n generalizes."
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Conversation ID LLM Test (streaming, responses)❗︎ 116123ms
checkAISpanCount(4)
checkChatSpanAttributes
82b86a4cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82b86a4cgen_ai.output.messagesMissing output messages attribute
b1e8d6a1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1e8d6a1gen_ai.output.messagesMissing output messages attribute
933a0b60gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
933a0b60gen_ai.output.messagesMissing output messages attribute
9652debegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9652debegen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "91e78c6bf549134f",
    "span_id": "8f16cb3df3e601bc",
    "start_timestamp": 1787552762.609,
    "timestamp": 1787552772.354,
    "trace_id": "255c595ab2394f42a1965b5d3ad0aa9f",
    "origin": "manual"
  },
  {
    "span_id": "91e78c6bf549134f",
    "trace_id": "255c595ab2394f42a1965b5d3ad0aa9f",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552762.606,
    "timestamp": 1787552772.359,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30758/",
      "url.port": "30758",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30758",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "82b86a4c031dc09e",
    "trace_id": "255c595ab2394f42a1965b5d3ad0aa9f",
    "parent_span_id": "8f16cb3df3e601bc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552762.609,
    "timestamp": 1787552764.612,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0c8da12c7d3b09e5006a8be3fabfac87d08c2c8c91dd04930a",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 159,
      "gen_ai.usage.total_tokens": 182,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0c8da12c7d3b09e5006a8be3fb84c487d0a30a6cd9a5105cce\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-P8aQSEhKlhPPGkkWClnRARatdXAYrSK2qYzW6wNHjPKyWHz3htAzojXvm_1flC020D6CrQD7r4G82oK6Qcrafr4SlLFHicdj2OdjWiW3rjsDOUCdCw_HcPpDMpI549Y3CNjys_bD3RP9q_n4Cdp5tel010COs4X2_x6EVLZ4wnIyySPfFAwf9qxw-4upUkwNmeptYOmxdELvB5-ct1tIVniDeFNddGm_MuZ00dN5oziQFAlhuWN7SDhbLrJmPohNaRGJ8qjBHLkqeMlBpZRvJk0nBBIOem9lolqyEf8E_fbFbOI5MocDyic5WUQXgTP5ZyYrxDR4IQunUpXZLcZUB3NRfL3mr-nQ3-SrvVjFOCQc8DSznub3C6ZJ88VyerO93L6y2x6A2RBY62Iph5RCu6r1Op5_5cUSNr3QrchDLvj3NrXzkFC2mNSsJOPZ480X2LFdId3fjh3UeVCLxj8WG0xOhOZT0jlVWX1Xg8VZLE7W_JGVPVtpweAZyn0zKQ9uXhKvOnltAHBEEvDRWjWva1KZjZgs6iBm3P64FfavMBEmFYQb51diW77D1DIysy3SLGbUBBdqCPzzJgUYiYDXKDGVYqDKXpVbO_pQnO5bwIPLQy1LbJyvLl9hqeQne23F8TjLmxwmzno9nOSXTxwzBZ82hXhk9rRqNiADkhTQncCtsBADDvjHbuxnprjCJ3aYvzPFX8VKDpJN5ehNqTCodxoKSmD-taLBg75d5MMIfBWWXsyZ0eq6pFmeNB8XiLXvdIqz1OIdPeAiTlX1isXDwx9yF0j7jHNsqppPKEK2XJ93iVrMafvas-T0AIzX-Xl0hXyEwHIC8QfShBzMIels94LD6qS6QFFsNMLpJKnRQZCY4xUTqzf_MEnlZmFWuqUp9g64rA8nayAYLBpE4VTqdLwncQQ1poxGaFHt8N3Vj4HYF9D9u-SQqbYoodWwiB8Yuu4dsQXJkUzEkEkHSo5WO75FDLQ7x9QcgqfIw__L_iLe8Wvswvf2uAPJ7Uv-IszPyz80dYIrLvCrtAz2l9OCqUfi6Xb_OHaVncnd_WJLFX1Bj_-CYFaRa_1Y8qkmaBiaDahZWfhsHkSDxLOoAREyOchJhBqTMqJnDl-fe3fQmAcOtmh4RUv-aCkjK_uiUEM8aZkGABTmxcvqLVblHINOLzc9HsoXVFPKchX542CP3qsK2ezNUWEYT0fIsqOxtpZ4uon5RgTRzNWmHEEtpUQ4mhC6gKwUzBnZWNA1QKwFsMKUsNHBmB29wBlkwPHbsMuauyzIvp_JUf2CKnwId4GVScjIkI_sSV30PwpSYFt7WylU8ZW4XL8IMOmK0_AGaOzDU4QbboECMZSmKLtrckLZ8WKllq9v6doI2XFFR6P3DcmJgqQlFpz3LTr3ROFYlMlqT4creZBoTYc4wqjIiWJpOeugARPBp06QgJDZ28E3otYe1WUdqawXPDRJ9-zTPmy2nzeMHKoKv-8j5474vib9AKfe9vy3mev9AqZf1WRF0gbzzR5kztob3yfEMqERtOz8JzYY_j-EG6cN1i7u6yxEBG9ljE0QPc-47szczCIL7ffuY-_PMAK6DgbbHxi09yyPtK9QbywFOPnXJ7FHw9GCONhzaTzyg5nCBQ4NC-9BMzT9i39yRTQWKceS9_S0zyuzDIorwrUkKcBa4vq6RC0g_7sQ47arNJnDqNIoIFjiEXQQVCCZLKVh-6Ao9-wsmajXIKhNZU8fyZPc6QW2Rr75pRzJIDBYoDyMUeKDnAfKUgNQkvxVGUjrLJGcyG2Q9LYiBG-jHKOdU3tieXtpag_JTFrtGKFFEmN0FSNshA77aWPuMqWum99wiT85iJAPUhuB9kIiQUZwWovp7gYIwEkn4cxYIajmSc1fWZTPK9S0OwQr8QzhyM-__4qsuJFUTikxXJQUVlyL5ISiZcH65YruHvhNk3RiK-qeKeDns49TMjvFxosNRsqreoYFvyqRMc81U1Tfij4DilzHAMffFCimzODc9HZC3KgCrr-qR2_mTeJxZvKLcxBdrpL3RmB0AVIFlutbikcHjHEzVI2T8gXTcm1uto93q_HbsF4IJwpN37hFrAA6RtX5bcyy3rgfEmt9jcSl4K0e_563ElAUKjvBp3lg==\",\"summary\":[]},{\"id\":\"msg_0c8da12c7d3b09e5006a8be3fc552487d0800a6bc6c84924e1\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b1e8d6a16bf62c0b",
    "trace_id": "255c595ab2394f42a1965b5d3ad0aa9f",
    "parent_span_id": "8f16cb3df3e601bc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552764.618,
    "timestamp": 1787552767.581,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0077bb289df4c848006a8be3fcb38887d0acab1cabd97da3db",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 359,
      "gen_ai.usage.total_tokens": 383,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "4\n\nIf you’d like a short explanation: adding two and two gives four because you combine two units with two more units, totaling four. Want a quick practice problem?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0077bb289df4c848006a8be3fd650887d0ad54005806608156\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-P_PEicX6hI-8dyaCL5SahgJ_UQpY4R-25PTI3fAsOVHqqVGFAlWKLMV6HKLzHR9L-7MUxD2J621PVt53j9fh7ywIjGxbgtbSXqfpuzPlyHtWivCHQgfthSwX4TWj9M6dKlVzkclkw25GmLi9g8OlN5Qzea6VbwY6TZQa28s5lJ3I847_hh1epcoxL1HrKnOm3aUO3cz9SbL_7Ud6aTeTA8IFOBzQbRLHMy3o-7ar9aXreD6eY35LFVF6KnK7Vy5kM2dYtvwYRuhoXnF3WzQFKem8-cu9XoMZu_axVd-EKnUdlf3rDxJVDxT8vMtI6yGnOzt0zo0STbzs6PpO1MDToXXUdYUpmkIPFNGE7Y1nrGssy_MlXwBXiArUlVELBDqvBljRqojaU1eAgoeVrmQjNsLRiGteVelJK0JUKbatW7ZxlnQRC5DvzYc0r-Gdiui3px82HEE-fiG8752jjUNOhr8SrGU1TsW4AQMV41CTg5sr8hMVIYbOvKxKp0VNKTYaEcGvQgvorFDry2ftKusHIhWxqVOGqk70dpRw7WNWaOGZ55IgDyn1wkMB3F1mHbhaPMWns532hpbL3BxlOgsGDQkngDW57LEB9W_o61TJ9PIGJuYcWUTIUa_zXIjqrfr3jlCFa0ym3-HyxtexHGcxbTt9NRPvQiY-HSTKzSM0RDlyzegeXLEpQsyI_BK6I3myseV0hKVaVU2XvyuYsMJjvtqqa4efS7g6lPvaaXhPZhpjvbm4cBMqiCUD4VdQwzyXVS69ZQJ-80nSu2VwFQAOe7-YCDwjI1V3Y21TsKlqJTKR1sOL0ZqChyPIPpfdVZDiLzRTU-rVHJJeUClLt9BVm-exSu1S9NJC0ptwKHMALjQQND-qeW78ps4x3CzkrcLVrityvRLd449pgDMc36xSdYZbBClz5wxBEKqPX1cCoFcpdNaaGPx_r_KCsfB8nFyLC8l8UhU6wqB6d3uZaF0KW2RsO9pHgxQBgB_5w3eOEvHFfCrsa5qKVg3H1OSySOidNBKUpbJZ224a-MloiuMbRPFtty8FyRSN2bJDCsvGqSp9Ili4A9YKP7DeEjm_6oDstHgSjESZhZ8nlfaw2eJIpdKXmfEgdXnkSe7ldKHeHGnOsL3B2OOmlq05S_MZwIN4ekVV45AEEcdlIdSeAcX629eJGR2eRBO91VulC_e9N285306yB_ORMXHOe8jfDevirNG9FCUtgUbkK5R3WBjOkrCCQz8jXUa1fT1qdNNlP386ihNzlj5ncRmXeV8JEWdtf6CJ267mcU_Uq62W5aBxTTUdXGhBaS7WgIh4qeLqRuvpegzDrlxW633_8JYVJiCuSKGk9DjlK2w-dw-n9GyG7EsHPvr6CmnuEIejpy7VZ95y8jUS_umY-z8ct326vUtItVzUxGKeSTVC8hl1RAQ0vf-8PsDLtPzTrf4_Lmz_AfN_E1lhsYVkghqRPhV-GW16uJO20D7pMMnuqadVnF8ayUTcW9BptOE0VWOb8d59m5539CiBZE0WkhlLQzOEBLK4JXPUjibrBxEcuDJewop3cmLPmgijLfP76CvoqVhHPX8Q14TLvgRPOwOnj1mzKhOLB5--Jlg1zSRpJt2-2WjwAak_OQpVcYEy8RftnHEQe6c4p7UjzMNvw1kNH8S7zqh7hJSSSWCEyeRKJGYthlSV30aliwT54_CWuif8x7OdWiSu-6dc-Vfs6cHRuNuhSSYR79roN8pvTrQU-JPG3yKuz2UpnIrwBleSMv94aTCbnz9a2dEQr3_XuZ4FG6apchVuhQbsfLFRObjGzJZ-NQTjvpjuyjsfHoXVP9n9JF4x-P5kyRNbAUmpBXelEEm5LG2EjN6A_MR5oSFiND2WYwm7QSH1X3v18zqURK7VvSQj6G6z2GGP5CYMBSGN05xE27qAral0LuC5T7HnmajZ7KULEspaNaJvm2_9hY_sf73kfs0-5JH2fhoSpujArSUaIaAA2ZGlvt1eM-vDQNj_NRy0yBphE2CJaHYj8I3ZfsLf1Y458yScLwY_HMi5zYkY3eepW7WXGuN8bAbmOVVU9lPcef51n-iqrnZRzgEjuT3GyCYanK20sprqysNdtHO043vVlVPR1NjjGdUaUee_U7njNauX6slaEZjpyD6VmneQW9nUbdnM-vLL94GVf7vYcaliycQQGHnlnuBqAQ7O4GfZJCnY-QGBdWx6bnLXXFKzQH6hOZ8rr7RjMRRlsl6FjkDn0YbAFR2L2tXle6DyJPqOb9rU-vP99SRyJ9njYWMkz4TDWnGnBoPUzs4vgB-kKP9t0U8htx5WqQ1j8m-v9IyAH1vifiKKeiGsjZ5dDjN2s4_xT_5xFSKsvo6W0x_OHHQKt8UqPmSYlZcQaih9_flinYBh3ghTs7arqhEVavRbC8PpMUeqY0A-B-VRAvIWAHKJPUdSUGKtt5Wr9itWBZt3Mufu2cUHGjSFLbQKkjHgRFeJ_iJAN1FW1HAy29ueN9jGld09yPCPFyLbLIMdRtw0oJKRzO-0r7sc-F1Ch5cmkKcCI1DGhKazkrnlVwwLbLuIzGjK2dvkNx_lCyjk5ayanmGYBETiTZYetI-yqFqvLp0S7mXXeaQc8ex5xPQvpIAlvrX3f5TL4tys9u-SryTzkITtbRGxjGyxi3R3O64tQwunN9GceF56NrTq4dFaE8udAVbhv_CQME6bts2GiPrZjk4Hslb1hns925CNSiIrwK0cU5O0Zxvzv3ZdcT04eGAV5VFmsnEEo5pklhYWcagGvJBGHQ5SZC_faPE6xKEuIfgGdsWEdB2nsP9kWVP4QQ3nca86gTwEqZd6RPJDEracehEzA7cLwB9Vv97peGbkA2Ga8TmwUD5BzfzvdRAWVwDgsl\",\"summary\":[]},{\"id\":\"msg_0077bb289df4c848006a8be3ff0b9c87d0a0e38c6a3eed2a48\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"4\\n\\nIf you’d like a short explanation: adding two and two gives four because you combine two units with two more units, totaling four. Want a quick practice problem?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "933a0b607f0d9f34",
    "trace_id": "255c595ab2394f42a1965b5d3ad0aa9f",
    "parent_span_id": "8f16cb3df3e601bc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552767.582,
    "timestamp": 1787552770.225,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_07d05b4b2ba6a632006a8be3ffbe8487d0bebf3c120e0872dc",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 347,
      "gen_ai.usage.total_tokens": 391,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin. If you’d like, I can share a few quick facts about Berlin (population, landmarks, history).",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_07d05b4b2ba6a632006a8be400683087d093cb93693b85f5e2\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QB0joqoOdXmCvdS7kh4JFKy2b80DTs_x5zKcSvMSBE026dVoUeXXxY0UvzurqbG3MxywrCyTH6ATga1LZgFCoRzN_JRBGqGnSJxu1Y_y48EPusjbL-1AkGnrfJ9nqMPhY6SnNaoTf35InLlNaAVA0v2UpSqwhEzTCY6yYC_2u7iwSUueBE_lOGdr9Kr31v2SUnG7rp6Y1Fl4813o3tUiT3JFUAQCIv6sCbuKBSeyqxh6GALPWt3ZG9pNUrMBlyfhPLM-V2gz295UAr8fyXtCllY7ESsACxC1sQt2j5O1JVslfbwiZ3IyvOXPQeWETBPzxCHUubiQ5JYUe7653mM16MbhQ1zKShz8I-YhNcY04nrkDKc28Lr43gangvPVfQsiUqKpFhnOSF7_X4KUzKaG0vwDDxNVdOsuZLFPfMhETiI3QX0JpbrSsGn14c8j7-9qEqOpc9HBRZecjcHuCN9_GdtyEC9fl5wahJdETZ7cYLVXXh8GcnsA_MtUvCMztN1OStM1PQ3K3sTtlvRBwEcL9reoc3OPyOgVPS56dBGnOmC2OfEo5KFh6hfntLnoKfPG6tTkoe0fCS3ueBUHRjxr1M40vBnABgT0pWDXas7vs9LftDdedzJSDryt5xbOScrdSfgzNO7HL54NIc3xQSiluWSjw-auAW6K7bVG_LFqIpvDbneypGCSf3IoEAA5d5wZJMX3zkIlsQlnLUHn_8Pu0SHRtyMoWoeeWZoE5steDPZq3N46N1_X07ljtnHZ-1295Hsgd7bDPSfEMzYpFEQMOE86v6Y0aNsAFPeZNRgtgKyfjVmBwIRVeJet07iHfTnYevqL9JMNSkgiaXMb7ozxuugGSF3rjDPal9dGTHOxDFClCtexPoB85JU2-jwJ8JxTlaWauZF5yIOrSeNDJ-5ZwQXSfMa4phDbyS2WNgL_n-YuEAQZDgCHXdjgggBo_5bVCJpmA4RAKqmji8Mc8sTKqD1gxIiLYO6jFFfJerYIizbOPn8UY9x7Z7AV9muZpJEIoenMyWELcCiSFoObxvpnMTNIHoAae41J9Ece-HJOT3pgk14wxuDs8xSq9FsinTsMdsb4ZQUdTtR8EzzXmTiGQqY1GWh3KepOkHBQKHMRTMW2g_ZePYsSzRotGiOHXNYF-FE8lvprOFEneoRJCmV6Y7dO6t0CFW-YANwU6tXGpuxdCa4Y83_ZtImwzmVaa36JS7419wSGf3e3ELxj1btOXhBUJIF-bQilPVENCK0smDo0KkL8BlB33PZI_7hh0Nl-t-M2Gjm4F49RqGy2NrKW6HM_5XBoHq9q94C1LYoJe9dX1pGXAOIPAu3s7QXNgOv4os3vb-Q0Mv4rDGrzBcjoZzBFGZHGd09fegLPZoveXsKlZVi_j5kJxhwAsujkHo7Jt0wKv55-w51lzSf6KUlTUzsrN6aIl_qDieY9eC34DgXRApPbaEWeZ3c12CF6DH1Vh_g43zA6aaZtgC0cj8N6aboWaYKhL_thflaXWUpbvzthyymdzjis7yOcyatrY8rVIxv3rG9hVlz5z_lB_6nQaMQ9IzctkTg4GGj77THzeuFFUltLTfUZ3tM0IRP7teG5QCSftnlFxMNPAqCTr3phfhfHPPeXV3hW3DXBbDExRGScZta8yaCsq7BJ21dJF1VoamC-Aw_50ThUvNweLbYwuXByXtry1JHxJG6XYwfUhZUsI4K_gkPrFaliteX3IE5nFy3a_DMX3LWDMUU_fGSdcOoPAVpd0GfLCxu_gAOIHTKeFf7X1jxkziYepi9t1ekg2hqN3sWL3VgtbmNeHc_6ghfzftiHkWaMlPS2Y3tgkuGX7NpvqixpUn_qbZrg8GTqA3uoNUyBwTGjwCDqZtJxJCZ7YGGJO5cnLHEDI4hHewaLwUB7Puw539cY-fgfOgCbqSZcKONkvlqt2QpHUbeURc_1RyNpd8i9-HfMSwlDAXPSawu5eontMBacLFUWVK3yCgv3WDk9UIr3YyTove48BXfKyKJnSnC5Ysbj0AvCfAshPzLTKTnjFQAIIRQDqC5EuD_pJVCKL6bDVL4RFVm3xgfmFyEkELqbeYfVRFdQKHcPW4JRh1ex2so4SwJZvEEeqFZf2yGVibJTokV6PoJOK3P8J-uTQeY38X2hmDSq8uZWi4XNPsYjbbITyseiA3dBqQCW7HUf_uXEaDQl-8kUr8AKeHFT9gojGdkPlw0PE9-A-mUQmnls7MW4aIF6HkccBqTXJpjkbi05hAgrkqb6khbEwSK1ogGfWkjDuN50o6RL4Su5u_hgCal488Iyr80480667-aSTUzSbO6gzdb40s8asc34znGXviAExPBuC80gLwI4KDGrIZxyafCuwc5qknqCKU5ffRb5gVCk6oOwsrfWVOZZ6FiOrJT0iKgWqcAmACYo8Zdq9662hQqgNa_lg4nUWWByFf21jyN2TLk9YqLE5MgkX_fULbbslJHh_62N_OSUbxFml4_AvJFbNROD2NtN5l6wfKd5a6QCt2RN6b3rALmU0kdD-dUce6CLLMa-1vu0Krkenfzdn4L8IySajTn-XefVntz7h7Rs6X0wX3nv5tfNb0mfjHH_ZbjRRBBa0GjtilP7VnRo11LYqtPvqsBnlR5Ob5gNkw8rsJxGPhB16aCpXdQrN7k3M-grd88O8odxhPyx8IUZ0Fww49xr53W0sqjJ9tvZLqmYq-4yvLa2ZSsTv2j2-5-K9l2h30DcmxzSDjNl4AH1PVja-bcPrixUx3BKl5Z1PA5tThE7_QVmBytcYUOgkTH7Zjy3EwVc7KXEFtcyL-iyvXLrML-15DpxWDgLlJED8YajvFa60pUOiMtsBWK3ExOpUomgMEFhorIRPpkh9-nIgqs_AgHYHzDtLLc4BbUS6QlGttHBTVKukaZiyuFpIBSjRerTJli4z5zapWlzHmB_JhMiaVLIfpUMDYZnNHkKhgDA2bRx_NfxokQrtC-UCqSNGCGHA_XOoargTH30j_nwK4VKRwYe7-qiw2KDorDKn0mMSvXy7AY3HOk7XFizhi4GBoyYpnZqNhGEFReJQDIOEfHDvNn-J2XKxWSLZNSh61psFZ7lFrE_PuqWek6zvswgCTmmPh_v6Aww9H7kk3F1fWdp2olMkERyJiznI1PGPywEg3X1oLGauqUswAOyN2isg3FzBSiSU=\",\"summary\":[]},{\"id\":\"msg_07d05b4b2ba6a632006a8be401ce8087d0bc15d48bbca64151\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"The capital of Germany is Berlin. If you’d like, I can share a few quick facts about Berlin (population, landmarks, history).\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9652debed9cff8bd",
    "trace_id": "255c595ab2394f42a1965b5d3ad0aa9f",
    "parent_span_id": "8f16cb3df3e601bc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552770.225,
    "timestamp": 1787552772.352,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_096abd965a820e63006a8be40265a087d0b260bdf2d8b896c5",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 286,
      "gen_ai.usage.total_tokens": 336,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "3 + 3 equals 6. You can think of it as 3 apples plus 3 apples makes 6 apples. Want to practice a few more sums?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_096abd965a820e63006a8be402cd8087d087a7d6b4d0e5ce36\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QDmtRe53pyFo0J5_cwbpmBrDcDTl7rTX9_WfrV1q9yuTjPcmfz6nQxmz-U5Vc5SAp3p3pMrkiGS4YeejAE5voAjIdh1Jw5r4J1z6vSaAhXtMbLjxDHbI_Q3gQbAmvjpRajakDAgsQJxUVJTJWnRwYjcT5cx_nEAt_SJs8KqmkDPtddAh8-1wVzMCMNHwsRY6HKIjDsHoIbl0QlHQoM1k5MtOW7wuMfRA8WUIaZTuXw9FrkaWuhtNxDg5eVxq9KbVc149dtDjGMkkUNkclBDBQX5iKL5yewdc9U6yft8m-1Xbea6iF0Mw_nPxDFpJy2APecusUlSNSxx4mL-TW8A5e9WDy6o_avuFzSaWzs_2cn7B0WPPCFKas5k5cIr1xnOemv7gCWvPoeIAjh_5qok_klOuTVx4BqrZlpqHNy8xLHqPGU9OZQ8Z0LtI5R8qzjla-v8tAqWRsTgJvlvBN1UpLXCC_vxPS-jbt-RBknVdPrpDCo_ksm3yBUd0e5IZGz8IwLLNt7XwbB8CDWrBbEUdINbN3APCKS-FEUbygzaLaaW6X1myyxJRRm-MBS8P7obHs-WTtVHD2TDBV_rmzJvzmuELB-ArtMLJJjzALCpNgjI6lES7jImHNo8P_8cHIpgMpMW2zH68z-uXRA-2Mz_oNFAS7qP3m2dPsQC0kqvPYSr9CvVMnZY5wwAyOLe_Gng_hzHQ_mYLDdIv__5xo2TPGTFEQWLgxnpOw93ip_AR_86eZKfeDBY9-hJS5SRsczmQ1jUgU2HZe5BAXdvM44S7PyshgD9geCu39vNNQGLSDtnM_brYXqlar4nzTeZnMyARMWsntVPY-IpZ9v9K3SCyID1IbMwniMniMTLL3zZWM40a367BB7lCzmBfAgJD3g-OHSJsMsj5gY9hFSE6qxM-TQKvxzqainnJFcvCKtmvRvYuAjwv1ksKcJ3GAFfgEfjuwBVFlp6GxsYfMGqjk4LTckEx4wMog7q1fnlAmBqIZV2KCDPphc7Yb68qg0Mp7eVuHAnDuoL23tVdPp6ed9C4BZFF_CegJDH0sjRS6Cg3odtu0EL_H2iClWOhof03KEypS5LCJH2cDRm3Nt_952TS7kGnzHTZT1uJLteEhERZIrAenSQJNpGUTpqZJ_r6Q-h3x0BO-mIgj1qzzHEDgV5pKB38FIrdrJBH7YCL0UCeStFwoN7wgcBLV9Zpp5Qmn4367TXG6rL8M854NkbvX7uRBhYYRyWQPx3zouCxDpHhE7ol4wv1RYx97-KVln38mqGqfbzPj4JSViLITCCVhA94bmh8-6t2M0qadoWORf69T5oa3xioJaosqA8r5rrjEwmi7PvJ74THMI2UDsiQdjjMR6YHA4yyR4kB3deSja2Pd99q2nluQ2XCNdAkqebrZlFISAndenCBdUm7qHroZ03YTFb9veVXKNO2jJkE7iH763X_FJbAzKxDYvIqDHOuMXUgD1VvpTlKIKaxxK_Rync8jYKbXlPqxFOfOxZwHjtThdgCAlD6F_rpJ1RDxYkoU6qwOnX64EHTpFFa5wNvjOmTeJWGqjDEP4QTRM34cQRh7gn5FSQN8koP-kBRX3VjX1FSNPPsXa4r5CpJFASLCJkTyr207Wg4K-jtrCc7R-2uFmhw5ZIAvKaCKEB9h9chu1wc7t52_lZpz28DtWR0y2HDuVTEh_48uaocc6CS71fcidjbkpjr5nlno0kKwFALLuLKyvtpBJGtBS1PFgMwbkiY8DaCcGfKwvFfGS8mkQeKULyRIkPxnvtUSf09VwnuqUMQoOFEb6eg4LwAVz5wNSWiv8Tcw9xunjEKp3dGr1L4Z-6mDuZ93kM-XZP48wrqLRlsvHSiDeZ_Gcir6bQRbuK0ceNrAUgckxc48A0ZnOSXT4N4LMh8UmaQv7XM6q-gENOfJYGvD14xhEAl0XYw0nit968HMTysviDlST4_htUfhLO-8nHbA-4DO9CD1kNGht-OlQGzlIxGcjuGkdDYpwiRJ1UItoh3u66Of3dJZiXyZJkuKaMKq4WCGS5NYGzHGcHCHQav7Oa1OLVjTc0pugymEZF590Ldoz-XvRXqmoS2g-BYQANw6tLAVjlj-8jaHNzJEn1ER34AMPkfyook_OfTdDJOuJYAmtIy_MKLCxUkSP1IYKUQ7wdLR851lejk4ABj0RgBDBFfVcdg98LG7Vc05XrsmgVMfxdXGu_iCwEp-ZcWU7pC-bG9sbGuIxKwQI_xeQKL2xmzPfeSLJxVPjAn9ovrtVIIJuB2uBOYMprTDjAKMaul7w8h0ZIIEO1nP4iJlZCGcug-BlF9NSHgPDHeOPCdYvGR1fEWl0Jzwnpu0PJp-OfQ0XNrDYjYoAQeZqHNCY7fkPQUq9KW0VBe1UYop-hSKnKI0fuU-VeMbknB3X7LajKA9ivRpWHC_nJZZPCrFaJrk5lpq1jIwdGZBZZKdA-koBPw1SsAHBGGWmue83qS1mSHefvJomO8cnfkDSm4Ctj1brOmXiXYpoQHHGa0MhaHXmMGc_YS-O7b5lVn82ZKNcu6caBmIsnv3PoAxFaOPm\",\"summary\":[]},{\"id\":\"msg_096abd965a820e63006a8be403d2bc87d09a49e2cd0d6c0290\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"3 + 3 equals 6. You can think of it as 3 apples plus 3 apples makes 6 apples. Want to practice a few more sums?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Conversation ID LLM Test (blocking, chat)❗︎ 115126ms
checkAISpanCount(4)
checkChatSpanAttributes
9523354bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9523354bgen_ai.output.messagesMissing output messages attribute
a6ca6588gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a6ca6588gen_ai.output.messagesMissing output messages attribute
83b3a917gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
83b3a917gen_ai.output.messagesMissing output messages attribute
a2b2325dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a2b2325dgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "9cd44a3c2dabf1b3",
    "span_id": "8121b791c5909b1e",
    "start_timestamp": 1787552763.003,
    "timestamp": 1787552771.862,
    "trace_id": "a878e44b67784044ab2c903e0612fb57",
    "origin": "manual"
  },
  {
    "span_id": "9cd44a3c2dabf1b3",
    "trace_id": "a878e44b67784044ab2c903e0612fb57",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552763.001,
    "timestamp": 1787552771.868,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30759/",
      "url.port": "30759",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30759",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "9523354b789b2c16",
    "trace_id": "a878e44b67784044ab2c903e0612fb57",
    "parent_span_id": "8121b791c5909b1e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552763.003,
    "timestamp": 1787552763.826,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQ7HntKKUU3xg0QwgMJviQO4gEO",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a6ca658862bac7fb",
    "trace_id": "a878e44b67784044ab2c903e0612fb57",
    "parent_span_id": "8121b791c5909b1e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552763.828,
    "timestamp": 1787552765.415,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQ7FpChUi0u3147TrVJ8oPr6Xqq",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 224,
      "gen_ai.usage.total_tokens": 248,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4. Explanation: adding two and two gives four; you can count two items plus two items to reach four.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "83b3a917136e2912",
    "trace_id": "a878e44b67784044ab2c903e0612fb57",
    "parent_span_id": "8121b791c5909b1e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552765.415,
    "timestamp": 1787552768.812,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIQ91Ip7ixb3BcAAmHLteNs0VHZX",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 350,
      "gen_ai.usage.total_tokens": 394,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin. It is also the largest city and a major cultural and political center.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a2b2325db2e8cf41",
    "trace_id": "a878e44b67784044ab2c903e0612fb57",
    "parent_span_id": "8121b791c5909b1e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552768.812,
    "timestamp": 1787552771.861,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIQDcqXc0TiKGzj6yUzusIhqucU9",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 363,
      "gen_ai.usage.total_tokens": 413,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6. It’s also the same as 2 × 3. If you want, I can show quick ways to reason about it.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
cloudflare/openai :: Conversation ID LLM Test (blocking, responses)❗︎ 115726ms
checkAISpanCount(4)
checkChatSpanAttributes
a32328afgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a32328afgen_ai.output.messagesMissing output messages attribute
ae801e3egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae801e3egen_ai.output.messagesMissing output messages attribute
80dc4252gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80dc4252gen_ai.output.messagesMissing output messages attribute
80fd8ccdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80fd8ccdgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (6)
[
  {
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test"
    },
    "description": "conversation-id-llm-test",
    "op": "test",
    "parent_span_id": "bb1b92e55c940b37",
    "span_id": "a516450954eb2d5f",
    "start_timestamp": 1787552763.134,
    "timestamp": 1787552772.595,
    "trace_id": "ee47b16a0d504893bf83b6002df523c6",
    "origin": "manual"
  },
  {
    "span_id": "bb1b92e55c940b37",
    "trace_id": "ee47b16a0d504893bf83b6002df523c6",
    "op": "http.server",
    "description": "GET /",
    "start_timestamp": 1787552763.132,
    "timestamp": 1787552772.603,
    "data": {
      "sentry.origin": "auto.http.cloudflare",
      "sentry.op": "http.server",
      "sentry.source": "route",
      "sentry.sample_rate": 1,
      "http.request.method": "GET",
      "url.path": "/",
      "url.full": "http://localhost:30760/",
      "url.port": "30760",
      "url.scheme": "http:",
      "server.address": "localhost",
      "user_agent.original": "node",
      "http.request.header.accept": "*/*",
      "http.request.header.accept_encoding": "br, gzip",
      "http.request.header.accept_language": "*",
      "http.request.header.cf_connecting_ip": "::1",
      "http.request.header.host": "localhost:30760",
      "http.request.header.sec_fetch_mode": "cors",
      "http.request.header.user_agent": "node",
      "network.protocol.name": "HTTP/1.1",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "span_id": "a32328af8d14998c",
    "trace_id": "ee47b16a0d504893bf83b6002df523c6",
    "parent_span_id": "a516450954eb2d5f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552763.134,
    "timestamp": 1787552764.718,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0f50b3faaedcb55d006a8be3fb3a4c87d08472013f2ac7c560",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 137,
      "gen_ai.usage.total_tokens": 160,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae801e3e86d6cf1e",
    "trace_id": "ee47b16a0d504893bf83b6002df523c6",
    "parent_span_id": "a516450954eb2d5f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552764.722,
    "timestamp": 1787552766.646,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0ab57d2e04f7b579006a8be3fcc5cc87d087c103faf0be3a17",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 267,
      "gen_ai.usage.total_tokens": 291,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "4. Two plus two equals four. If you'd like, I can show a quick visual or a short explanation."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80dc425293d08f62",
    "trace_id": "ee47b16a0d504893bf83b6002df523c6",
    "parent_span_id": "a516450954eb2d5f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552766.646,
    "timestamp": 1787552769.504,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_0e6f25e38fd3e1a4006a8be3feb3ac87d0b40b66eecacb0f2a",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 153,
      "gen_ai.usage.total_tokens": 197,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "80fd8ccda32a09ed",
    "trace_id": "ee47b16a0d504893bf83b6002df523c6",
    "parent_span_id": "a516450954eb2d5f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552769.505,
    "timestamp": 1787552772.595,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_02ce97504093d4ab006a8be4019ca087d0825ccfad23c15785",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 384,
      "gen_ai.usage.total_tokens": 434,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "3 + 3 = 6. It’s the same as doubling 3."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Basic LLM Test (streaming)❗︎ 1⚠︎ 12937ms
checkAISpanCount(1)
checkChatSpanAttributes
96e934d8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
96e934d8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
96e934d8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "96e934d86ab7d279",
    "span_id": "9f85e5b3d9c92a50",
    "start_timestamp": 1787552761.8659601,
    "status": "ok",
    "timestamp": 1787552762.8195028,
    "trace_id": "c3eec1044f8b4196a3a84f823a3218bd",
    "origin": "auto.http.client"
  },
  {
    "span_id": "820802f1bd5597e5",
    "trace_id": "c3eec1044f8b4196a3a84f823a3218bd",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552761.8246934,
    "timestamp": 1787552762.8222916,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "96e934d86ab7d279",
    "trace_id": "c3eec1044f8b4196a3a84f823a3218bd",
    "parent_span_id": "820802f1bd5597e5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552761.8282752,
    "timestamp": 1787552762.817517,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552761-3npBqKmHAGIl43Ar6wJD",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Basic LLM Test (blocking)❗︎ 1⚠︎ 12310ms
checkAISpanCount(1)
checkChatSpanAttributes
bb2b0073gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb2b0073gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
bb2b0073gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "bb2b00739e0c9672",
    "span_id": "83e56c4f5bda5a6d",
    "start_timestamp": 1787552761.8675127,
    "status": "ok",
    "timestamp": 1787552762.7649539,
    "trace_id": "667ae4622f1144f28cc933c07132eac0",
    "origin": "auto.http.client"
  },
  {
    "span_id": "970d47895c4d4850",
    "trace_id": "667ae4622f1144f28cc933c07132eac0",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552761.8239033,
    "timestamp": 1787552762.7747715,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bb2b00739e0c9672",
    "trace_id": "667ae4622f1144f28cc933c07132eac0",
    "parent_span_id": "970d47895c4d4850",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552761.831194,
    "timestamp": 1787552762.773486,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is **Paris**. It's located in the north-central part of the country along the Seine River and is the country's largest city.",
      "gen_ai.response.id": "gen-1787552761-RaxRrtjlQTDEtVIzd9WK",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 36,
      "gen_ai.usage.total_tokens": 56
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Multi-Turn LLM Test (streaming)❗︎ 1⚠︎ 14257ms
checkAISpanCount(3)
checkChatSpanAttributes
88ff703cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88ff703cgen_ai.output.messagesMissing output messages attribute
92f5d0f8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92f5d0f8gen_ai.output.messagesMissing output messages attribute
9a46d02agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9a46d02agen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
88ff703cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
92f5d0f8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9a46d02agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "88ff703c70781e26",
    "span_id": "b9b12b6fff477cb2",
    "start_timestamp": 1787552763.632788,
    "status": "ok",
    "timestamp": 1787552764.6212022,
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "92f5d0f8957c7631",
    "span_id": "8ae9762e7a732c2b",
    "start_timestamp": 1787552764.6312125,
    "status": "ok",
    "timestamp": 1787552766.082374,
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9a46d02a5ef96f55",
    "span_id": "a77739c15e956086",
    "start_timestamp": 1787552766.0846317,
    "status": "ok",
    "timestamp": 1787552766.9217548,
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a513c93725660c95",
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552763.612314,
    "timestamp": 1787552766.9223418,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "88ff703c70781e26",
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "parent_span_id": "a513c93725660c95",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552763.6150043,
    "timestamp": 1787552764.6164339,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552763-yghed43Yrv1xcGgdU9Yx",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "92f5d0f8957c7631",
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "parent_span_id": "a513c93725660c95",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552764.627234,
    "timestamp": 1787552766.0818648,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552764-dwLN4weYBm6uohX8U0Fs",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 96,
      "gen_ai.usage.total_tokens": 137,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The population of Paris varies depending on how you define the area:\n\n- **City proper (Paris municipality)**: approximately 2.1-2.2 million people\n- **Metropolitan area (Île-de-France region)**: approximately 12 million people\n\nThe city proper refers to Paris within its administrative boundaries, while the metropolitan area includes the surrounding suburbs and towns. The larger metropolitan figure is often cited when discussing Paris's total population."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a46d02a5ef96f55",
    "trace_id": "27f84a0979d24be1b419be4103acecf9",
    "parent_span_id": "a513c93725660c95",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552766.0834272,
    "timestamp": 1787552766.9214284,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552766-c5G8ETMIZYy7JGIIA0vp",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Multi-Turn LLM Test (blocking)❗︎ 1⚠︎ 14451ms
checkAISpanCount(3)
checkChatSpanAttributes
83a50c8agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
83a50c8agen_ai.output.messagesMissing output messages attribute
9acdf5e3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9acdf5e3gen_ai.output.messagesMissing output messages attribute
85ea02e9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85ea02e9gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
83a50c8agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9acdf5e3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
85ea02e9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "83a50c8aca8c9dde",
    "span_id": "9b3011e7ec69acfb",
    "start_timestamp": 1787552763.7744899,
    "status": "ok",
    "timestamp": 1787552765.0270135,
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9acdf5e358300071",
    "span_id": "8439cd6f66a74c41",
    "start_timestamp": 1787552765.0319414,
    "status": "ok",
    "timestamp": 1787552766.4850411,
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "85ea02e917d2df5a",
    "span_id": "83d070ba8f392bdc",
    "start_timestamp": 1787552766.487348,
    "status": "ok",
    "timestamp": 1787552767.2598696,
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ab3aacc34f6d8914",
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552763.7597873,
    "timestamp": 1787552767.2608867,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "83a50c8aca8c9dde",
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "parent_span_id": "ab3aacc34f6d8914",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552763.7613463,
    "timestamp": 1787552765.0299606,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is known for its rich history, culture, architecture, and landmarks such as the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.",
      "gen_ai.response.id": "gen-1787552763-9MWzaCLqiLendPIqhE7B",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 71,
      "gen_ai.usage.total_tokens": 91
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9acdf5e358300071",
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "parent_span_id": "ab3aacc34f6d8914",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552765.030546,
    "timestamp": 1787552766.485717,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "Paris has a population of approximately 2.1-2.2 million people within the city proper (as of recent estimates).\n\nHowever, if you're asking about the greater metropolitan area (Île-de-France region), the population is much larger at around 12 million people, making it one of Europe's largest urban agglomerations.\n\nThe exact figures can vary depending on the source and how boundaries are defined, but these are the commonly cited ranges.",
      "gen_ai.response.id": "gen-1787552765-96ZqhiJ9ml5044b06TQA",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 101,
      "gen_ai.usage.total_tokens": 142
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "85ea02e917d2df5a",
    "trace_id": "e4abf2ebf3424a3ca55be1d7a33de420",
    "parent_span_id": "ab3aacc34f6d8914",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552766.4862456,
    "timestamp": 1787552767.2605994,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.text": "The metropolitan area of Paris (the Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.response.id": "gen-1787552766-hScmWMjFxg4Bp7LzVLKj",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 40,
      "gen_ai.usage.total_tokens": 111
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Vision LLM Test (streaming)❗︎ 1 1⚠︎ 11726ms
checkChatSpanAttributes
9b2039f0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b2039f0gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9b2039f0gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9b2039f0gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
9b2039f0gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9b2039f005c9e522",
    "span_id": "972326dddd563a6a",
    "start_timestamp": 1787552764.7171323,
    "status": "ok",
    "timestamp": 1787552765.496393,
    "trace_id": "1a488966994a401e8bde26409218ed69",
    "origin": "auto.http.client"
  },
  {
    "span_id": "95c6592d54ef1bf7",
    "trace_id": "1a488966994a401e8bde26409218ed69",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552764.695047,
    "timestamp": 1787552765.498176,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9b2039f005c9e522",
    "trace_id": "1a488966994a401e8bde26409218ed69",
    "parent_span_id": "95c6592d54ef1bf7",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552764.7019148,
    "timestamp": 1787552765.4942288,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552764-8RpCAqOPFsH74caaSal2",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "Pink"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Vision LLM Test (blocking)❗︎ 1 1⚠︎ 12731ms
checkChatSpanAttributes
945b49f9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
945b49f9gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
945b49f9gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
945b49f9gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
945b49f9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "945b49f9054010ae",
    "span_id": "98639bd5434aa287",
    "start_timestamp": 1787552764.9231205,
    "status": "ok",
    "timestamp": 1787552766.6108327,
    "trace_id": "aed6719d25424df0925a5f1f795c88a6",
    "origin": "auto.http.client"
  },
  {
    "span_id": "801085042bbb6613",
    "trace_id": "aed6719d25424df0925a5f1f795c88a6",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552764.8995988,
    "timestamp": 1787552766.613969,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "945b49f9054010ae",
    "trace_id": "aed6719d25424df0925a5f1f795c88a6",
    "parent_span_id": "801085042bbb6613",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552764.9029572,
    "timestamp": 1787552766.6136339,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "Pink",
      "gen_ai.response.id": "gen-1787552764-3WkWBukh8N0t4yf9ZY3r",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Long Input LLM Test (streaming)❗︎ 1⚠︎ 11932ms
checkChatSpanAttributes
b05eee98gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b05eee98gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
b05eee98gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b05eee982425ce93",
    "span_id": "9d87b026f6ad58ba",
    "start_timestamp": 1787552765.0228453,
    "status": "ok",
    "timestamp": 1787552765.894153,
    "trace_id": "e2da7c9a5d0a4869b14c7c748ddc0668",
    "origin": "auto.http.client"
  },
  {
    "span_id": "86bf8cbe9893bddf",
    "trace_id": "e2da7c9a5d0a4869b14c7c748ddc0668",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552765.006885,
    "timestamp": 1787552765.8961368,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b05eee982425ce93",
    "trace_id": "e2da7c9a5d0a4869b14c7c748ddc0668",
    "parent_span_id": "86bf8cbe9893bddf",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552765.008479,
    "timestamp": 1787552765.8927515,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552765-MZOL5mzDgapy6qjF1BZ3",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 5441,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "A test message is repeated many times to create lengthy input."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Long Input LLM Test (blocking)❗︎ 1⚠︎ 12169ms
checkChatSpanAttributes
93026706gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93026706gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
93026706gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "93026706a4f5602c",
    "span_id": "85c20aef408acd02",
    "start_timestamp": 1787552765.1730695,
    "status": "ok",
    "timestamp": 1787552766.3871315,
    "trace_id": "bb7cfbca358f4e25a465219d1c806bd3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9aed53812b707b68",
    "trace_id": "bb7cfbca358f4e25a465219d1c806bd3",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552765.159453,
    "timestamp": 1787552766.389408,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "93026706a4f5602c",
    "trace_id": "bb7cfbca358f4e25a465219d1c806bd3",
    "parent_span_id": "9aed53812b707b68",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552765.1609306,
    "timestamp": 1787552766.3891504,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "This is a test message repeated many times to create a lengthy input.",
      "gen_ai.response.id": "gen-1787552765-WteOr5LrSgXQQRrijj7o",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5443
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Conversation ID LLM Test (streaming)❗︎ 1⚠︎ 13763ms
checkAISpanCount(4)
checkChatSpanAttributes
9a1e1408gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9a1e1408gen_ai.output.messagesMissing output messages attribute
a8d94cb3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8d94cb3gen_ai.output.messagesMissing output messages attribute
9cac2589gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9cac2589gen_ai.output.messagesMissing output messages attribute
b6150bd4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b6150bd4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9a1e1408gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a8d94cb3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9cac2589gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b6150bd4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9a1e1408478bd4d6",
    "span_id": "a1e127b3e0d58594",
    "start_timestamp": 1787552766.3571908,
    "status": "ok",
    "timestamp": 1787552766.9944825,
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a8d94cb31de873cb",
    "span_id": "9d9407aa5eb7b1cf",
    "start_timestamp": 1787552766.997693,
    "status": "ok",
    "timestamp": 1787552767.7587905,
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9cac258979b7918f",
    "span_id": "9eacafac3423392a",
    "start_timestamp": 1787552767.76048,
    "status": "ok",
    "timestamp": 1787552768.6967158,
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b6150bd49c250105",
    "span_id": "997e2ab9c96a578f",
    "start_timestamp": 1787552768.698102,
    "status": "ok",
    "timestamp": 1787552769.2184112,
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a7258374e7ef3a8a",
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552766.3399296,
    "timestamp": 1787552769.219102,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9a1e1408478bd4d6",
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "parent_span_id": "a7258374e7ef3a8a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552766.3414602,
    "timestamp": 1787552766.9932916,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552766-uyqh1dTd5Y4PLJ2SMC3E",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a8d94cb31de873cb",
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "parent_span_id": "a7258374e7ef3a8a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552766.9964335,
    "timestamp": 1787552767.7584112,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552767-X8fYPdGEjMISXgegFDU5",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 27,
      "gen_ai.usage.total_tokens": 50,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "2 + 2 = **4**\n\nIs there anything else you'd like help with in math?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9cac258979b7918f",
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "parent_span_id": "a7258374e7ef3a8a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552767.759607,
    "timestamp": 1787552768.6963944,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552767-17BSi89cTAKWnTkd7phC",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b6150bd49c250105",
    "trace_id": "845e30db687c4b59acdaa08299aece6d",
    "parent_span_id": "a7258374e7ef3a8a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552768.6973584,
    "timestamp": 1787552769.2180984,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552768-K1BcsoIeaH5wDYAGvxNu",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/anthropic :: Conversation ID LLM Test (blocking)❗︎ 1⚠︎ 14885ms
checkAISpanCount(4)
checkChatSpanAttributes
b355ebe9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b355ebe9gen_ai.output.messagesMissing output messages attribute
a48019e7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a48019e7gen_ai.output.messagesMissing output messages attribute
8c055695gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c055695gen_ai.output.messagesMissing output messages attribute
918098c2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
918098c2gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b355ebe9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a48019e7gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8c055695gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
918098c2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b355ebe9fdf7176a",
    "span_id": "baf5b97694e63c5d",
    "start_timestamp": 1787552766.7495487,
    "status": "ok",
    "timestamp": 1787552768.3399785,
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a48019e7cdf95576",
    "span_id": "86c0411299c91b2c",
    "start_timestamp": 1787552768.3437672,
    "status": "ok",
    "timestamp": 1787552769.554807,
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8c055695784b07c5",
    "span_id": "aaabf8eba1e825fa",
    "start_timestamp": 1787552769.557387,
    "status": "ok",
    "timestamp": 1787552770.1052752,
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.32.1"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "918098c28745bca2",
    "span_id": "8066e55e9802fa4c",
    "start_timestamp": 1787552770.1088803,
    "status": "ok",
    "timestamp": 1787552770.7786608,
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b0431f7e48ac4f79",
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552766.7359912,
    "timestamp": 1787552770.7793765,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b355ebe9fdf7176a",
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "parent_span_id": "b0431f7e48ac4f79",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552766.7376678,
    "timestamp": 1787552768.3420582,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.id": "gen-1787552767-IUJSYuzivccE53nqaF2H",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a48019e7cdf95576",
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "parent_span_id": "b0431f7e48ac4f79",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552768.342554,
    "timestamp": 1787552769.5555818,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "2 + 2 = 4\n\nThis is one of the most basic addition problems. When you combine 2 things with 2 more things, you get 4 things total.",
      "gen_ai.response.id": "gen-1787552768-wf1yoH7JhqW9LTHyVH1F",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 46,
      "gen_ai.usage.total_tokens": 69
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8c055695784b07c5",
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "parent_span_id": "b0431f7e48ac4f79",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552769.556292,
    "timestamp": 1787552770.1070273,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.response.id": "gen-1787552769-mvAjZUUidksNwZ6qMnfy",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "918098c28745bca2",
    "trace_id": "5003f1a6c22644e4af3bb081bab647c3",
    "parent_span_id": "b0431f7e48ac4f79",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552770.107481,
    "timestamp": 1787552770.7791786,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.response.id": "gen-1787552770-5Yj0vDpUQ6gnZmc1iOlm",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Basic LLM Test (streaming)❗︎ 13244ms
checkAISpanCount(1)
checkChatSpanAttributes
b8b06688gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8b06688gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.117.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "b8b066883977f2a7",
    "span_id": "8b7b045e457d0c98",
    "start_timestamp": 1787552769.286479,
    "status": "ok",
    "timestamp": 1787552769.6051004,
    "trace_id": "1c0c16f608454d60b7ae6d309289d5ba",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "becf202d9a3984ca",
    "trace_id": "1c0c16f608454d60b7ae6d309289d5ba",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552769.2425964,
    "timestamp": 1787552769.6133227,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b8b066883977f2a7",
    "trace_id": "1c0c16f608454d60b7ae6d309289d5ba",
    "parent_span_id": "becf202d9a3984ca",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552769.2481115,
    "timestamp": 1787552769.6129231,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "AeSLapP5GPCCqtsPg9OE2A4",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Basic LLM Test (blocking)❗︎ 12965ms
checkAISpanCount(1)
checkChatSpanAttributes
954fc907gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
954fc907gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "954fc9075b7104bc",
    "span_id": "be01646db2a34ea0",
    "start_timestamp": 1787552769.2792826,
    "status": "ok",
    "timestamp": 1787552769.550135,
    "trace_id": "41b5c761d15c4631a9ce268f42af96eb",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8cb11612f40e83a8",
    "trace_id": "41b5c761d15c4631a9ce268f42af96eb",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552769.2385156,
    "timestamp": 1787552769.5538473,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "954fc9075b7104bc",
    "trace_id": "41b5c761d15c4631a9ce268f42af96eb",
    "parent_span_id": "8cb11612f40e83a8",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552769.2410896,
    "timestamp": 1787552769.553424,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Multi-Turn LLM Test (streaming)❗︎ 1 13562ms
checkAISpanCount(3)
checkChatSpanAttributes
82d5c3e2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82d5c3e2gen_ai.output.messagesMissing output messages attribute
9e21bfbdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e21bfbdgen_ai.output.messagesMissing output messages attribute
8bcc36d6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8bcc36d6gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
9e21bfbdgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
8bcc36d6gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
8bcc36d6gen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "82d5c3e2cefd1a3f",
    "span_id": "91c00b441f2a26c3",
    "start_timestamp": 1787552769.276014,
    "status": "ok",
    "timestamp": 1787552769.584676,
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.119.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "9e21bfbd6465a9be",
    "span_id": "894a94442d402a16",
    "start_timestamp": 1787552769.6011698,
    "status": "ok",
    "timestamp": 1787552770.1128109,
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "8bcc36d6f7184812",
    "span_id": "ad966eae6d9e4e45",
    "start_timestamp": 1787552770.1171994,
    "status": "ok",
    "timestamp": 1787552770.4480534,
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "9bf8a2a1c4c97080",
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552769.238644,
    "timestamp": 1787552770.4487638,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "82d5c3e2cefd1a3f",
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "parent_span_id": "9bf8a2a1c4c97080",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552769.2410038,
    "timestamp": 1787552769.595953,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "AeSLas3aF86hqtsP-unp0A8",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e21bfbd6465a9be",
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "parent_span_id": "9bf8a2a1c4c97080",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552769.5965781,
    "timestamp": 1787552770.1131597,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "AeSLao7FKvWYqtsPt6WmuQM",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 70,
      "gen_ai.usage.total_tokens": 102,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The population of Paris is approximately **2.1 million people** within the city limits as of recent estimates.\n\nHowever, if you consider the entire metropolitan area (the \"Grand Paris\" area or the Paris urban unit), the population is much larger, often cited as over **11 million people**. This includes the surrounding suburbs and commuter towns."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8bcc36d6f7184812",
    "trace_id": "16aab9b0a4364081bb10f3af61bfd261",
    "parent_span_id": "9bf8a2a1c4c97080",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552770.11537,
    "timestamp": 1787552770.448407,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "AuSLaoH_CePkqtsPl6jdqAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 40,
      "gen_ai.usage.total_tokens": 97,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The metropolitan area of Paris, often referred to as the Paris **Île-de-France** region, has a much larger population. It is estimated to be around **12 million people**."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Multi-Turn LLM Test (blocking)❗︎ 1 13197ms
checkAISpanCount(3)
checkChatSpanAttributes
b0fbe44cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b0fbe44cgen_ai.output.messagesMissing output messages attribute
b6248402gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b6248402gen_ai.output.messagesMissing output messages attribute
b895ad4agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b895ad4agen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
b6248402gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
b895ad4agen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
b895ad4agen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b0fbe44ce4f3d10a",
    "span_id": "b31af5a8610e7a01",
    "start_timestamp": 1787552769.3162096,
    "status": "ok",
    "timestamp": 1787552769.6054413,
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b624840204700cdd",
    "span_id": "819ea4e0ebf83165",
    "start_timestamp": 1787552769.6192572,
    "status": "ok",
    "timestamp": 1787552770.0732958,
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b895ad4ac2edcf14",
    "span_id": "b2a219f633c44b6c",
    "start_timestamp": 1787552770.0778742,
    "status": "ok",
    "timestamp": 1787552770.4302876,
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "9d0daa34aaec4be3",
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552769.2481,
    "timestamp": 1787552770.4317744,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b0fbe44ce4f3d10a",
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "parent_span_id": "9d0daa34aaec4be3",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552769.2550123,
    "timestamp": 1787552769.6154213,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b624840204700cdd",
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "parent_span_id": "9d0daa34aaec4be3",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552769.6177857,
    "timestamp": 1787552770.0745506,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 62,
      "gen_ai.usage.total_tokens": 94,
      "gen_ai.response.text": "The population of Paris is approximately **2.1 million people** within the city limits (officially the commune of Paris).\n\nHowever, if you consider the greater metropolitan area of Paris (the Paris urban area or *aire urbaine*), the population is significantly larger, around **11 million people**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b895ad4ac2edcf14",
    "trace_id": "f29d0c83c4a6440692200c168dfbcca2",
    "parent_span_id": "9d0daa34aaec4be3",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552770.0755937,
    "timestamp": 1787552770.431145,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 50,
      "gen_ai.usage.total_tokens": 107,
      "gen_ai.response.text": "The population of the **Paris metropolitan area** is significantly larger than the city proper. It's estimated to be around **10 to 11 million people**.\n\nThis figure includes the city of Paris and its surrounding suburbs and commuter towns."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Vision LLM Test (streaming)❗︎ 1 11744ms
checkChatSpanAttributes
ac375152gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ac375152gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
ac375152gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
ac375152gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.116.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "ac375152a46de6f1",
    "span_id": "812b396fa128431b",
    "start_timestamp": 1787552770.5015588,
    "status": "ok",
    "timestamp": 1787552771.0965538,
    "trace_id": "ca62e01550874eaf8cc135fca0eb6114",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "bfe151c2bd07cff2",
    "trace_id": "ca62e01550874eaf8cc135fca0eb6114",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552770.4470122,
    "timestamp": 1787552771.1109982,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ac375152a46de6f1",
    "trace_id": "ca62e01550874eaf8cc135fca0eb6114",
    "parent_span_id": "bfe151c2bd07cff2",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552770.4551063,
    "timestamp": 1787552771.1065614,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "AuSLarujJP2_qtsPmryZkAs",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Vision LLM Test (blocking)❗︎ 1 11687ms
checkChatSpanAttributes
b1c29842gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1c29842gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b1c29842gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
b1c29842gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b1c298424e3828e7",
    "span_id": "a82171e12a4e4cfe",
    "start_timestamp": 1787552770.6334553,
    "status": "ok",
    "timestamp": 1787552771.1952195,
    "trace_id": "021e13f3b0434625a929343f08b8cfd3",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b753a1a1ecefd92f",
    "trace_id": "021e13f3b0434625a929343f08b8cfd3",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552770.611914,
    "timestamp": 1787552771.203547,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b1c298424e3828e7",
    "trace_id": "021e13f3b0434625a929343f08b8cfd3",
    "parent_span_id": "b753a1a1ecefd92f",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552770.6134005,
    "timestamp": 1787552771.202215,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Long Input LLM Test (streaming)❗︎ 11444ms
checkChatSpanAttributes
ba6c1c4fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba6c1c4fgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.117.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "ba6c1c4f32936644",
    "span_id": "bb27efe792cbe301",
    "start_timestamp": 1787552770.687267,
    "status": "ok",
    "timestamp": 1787552771.0330489,
    "trace_id": "7fec1e9d72bf4785bd31788c15e6742e",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "87729f678fb849b8",
    "trace_id": "7fec1e9d72bf4785bd31788c15e6742e",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552770.6660872,
    "timestamp": 1787552771.0391695,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ba6c1c4f32936644",
    "trace_id": "7fec1e9d72bf4785bd31788c15e6742e",
    "parent_span_id": "87729f678fb849b8",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552770.6676733,
    "timestamp": 1787552771.0388193,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "AuSLavCAL6u7qtsP74iN8Qk",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5436,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "This input consists of a repeated test message designed to create a very long text."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Long Input LLM Test (blocking)❗︎ 11677ms
checkChatSpanAttributes
9047758agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9047758agen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.116.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "9047758aa53d439c",
    "span_id": "96746b589222d8dc",
    "start_timestamp": 1787552771.47839,
    "status": "ok",
    "timestamp": 1787552771.8350387,
    "trace_id": "77c7ea131b3f40489b745feb3e01b847",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "bea7aab6be90937d",
    "trace_id": "77c7ea131b3f40489b745feb3e01b847",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552771.4288983,
    "timestamp": 1787552771.8397157,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9047758aa53d439c",
    "trace_id": "77c7ea131b3f40489b745feb3e01b847",
    "parent_span_id": "bea7aab6be90937d",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552771.4332964,
    "timestamp": 1787552771.8391154,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 5434,
      "gen_ai.response.text": "This is a test message repeated numerous times to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Conversation ID LLM Test (streaming)❗︎ 1 12487ms
checkAISpanCount(4)
checkChatSpanAttributes
881b9222gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
881b9222gen_ai.output.messagesMissing output messages attribute
ae17acd0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae17acd0gen_ai.output.messagesMissing output messages attribute
90f11467gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90f11467gen_ai.output.messagesMissing output messages attribute
9ccb4f93gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9ccb4f93gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
90f11467gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
9ccb4f93gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.115.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "881b92227867cc2b",
    "span_id": "ba4505928fd52d7b",
    "start_timestamp": 1787552771.6970267,
    "status": "ok",
    "timestamp": 1787552772.0212297,
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "ae17acd019156195",
    "span_id": "aee7e090fd8cfbda",
    "start_timestamp": 1787552772.0347254,
    "status": "ok",
    "timestamp": 1787552772.3212469,
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.115.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "90f11467ff991423",
    "span_id": "8d600a6ff47dcf96",
    "start_timestamp": 1787552772.3239715,
    "status": "ok",
    "timestamp": 1787552772.5936553,
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "9ccb4f933e5fefaa",
    "span_id": "b2be799236e5e965",
    "start_timestamp": 1787552772.5997076,
    "status": "ok",
    "timestamp": 1787552772.8374114,
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b6f8fa61076b7c52",
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552771.665013,
    "timestamp": 1787552772.837991,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "881b92227867cc2b",
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "parent_span_id": "b6f8fa61076b7c52",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552771.6675963,
    "timestamp": 1787552772.028583,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "A-SLavHBMeeuqtsP2pi6qAI",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae17acd019156195",
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "parent_span_id": "b6f8fa61076b7c52",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552772.0332747,
    "timestamp": 1787552772.3217008,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "BOSLauanBs-vqtsPjqvM2QQ",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "That's a great question to start with!\n\n2 + 2 = **4**"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90f11467ff991423",
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "parent_span_id": "b6f8fa61076b7c52",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552772.3223116,
    "timestamp": 1787552772.5940082,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "BOSLaqaBF7ihqtsP2KmEKA",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9ccb4f933e5fefaa",
    "trace_id": "cd84b538dda9499aaf4df1f236601550",
    "parent_span_id": "b6f8fa61076b7c52",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552772.59708,
    "timestamp": 1787552772.8377233,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "BOSLapm3J_-CmtkP7K_YiAI",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/google-genai :: Conversation ID LLM Test (blocking)❗︎ 1 12441ms
checkAISpanCount(4)
checkChatSpanAttributes
89656fdegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89656fdegen_ai.output.messagesMissing output messages attribute
b9415f54gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b9415f54gen_ai.output.messagesMissing output messages attribute
9f98c89egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f98c89egen_ai.output.messagesMissing output messages attribute
823630c4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
823630c4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
9f98c89egen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
823630c4gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "89656fde0c52e54f",
    "span_id": "bb739eff2836aa82",
    "start_timestamp": 1787552771.655783,
    "status": "ok",
    "timestamp": 1787552771.9446807,
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b9415f543f29aa5d",
    "span_id": "9ac87c0a3066029b",
    "start_timestamp": 1787552771.9817905,
    "status": "ok",
    "timestamp": 1787552772.212991,
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "9f98c89e201060d3",
    "span_id": "a76b60819d5f4513",
    "start_timestamp": 1787552772.2154758,
    "status": "ok",
    "timestamp": 1787552772.5104265,
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "823630c46e9d3cb9",
    "span_id": "8ffdf8757c2a7eac",
    "start_timestamp": 1787552772.5199013,
    "status": "ok",
    "timestamp": 1787552772.8091812,
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "93ffdbcf214744a5",
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552771.6248,
    "timestamp": 1787552772.818922,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "89656fde0c52e54f",
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "parent_span_id": "93ffdbcf214744a5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552771.627196,
    "timestamp": 1787552771.9677565,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b9415f543f29aa5d",
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "parent_span_id": "93ffdbcf214744a5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552771.968545,
    "timestamp": 1787552772.2139428,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.response.text": "2 + 2 equals 4."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9f98c89e201060d3",
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "parent_span_id": "93ffdbcf214744a5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552772.2143934,
    "timestamp": 1787552772.5140796,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "823630c46e9d3cb9",
    "trace_id": "94ea7c9dc6994457a3c7908b8bdbb494",
    "parent_span_id": "93ffdbcf214744a5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552772.5164025,
    "timestamp": 1787552772.8185933,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Basic LLM Test (streaming, openai)❗︎ 15860ms
checkAISpanCount(1)
checkChatSpanAttributes
b74ff22cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b74ff22cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8a0b2b5144b5a463",
    "span_id": "90c76f8df2a9ebb8",
    "start_timestamp": 1787552773.5242822,
    "status": "ok",
    "timestamp": 1787552776.1760356,
    "trace_id": "30eb4f9c25264e50a519a08b3591c447",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8a0b2b5144b5a463",
    "trace_id": "30eb4f9c25264e50a519a08b3591c447",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552773.415306,
    "timestamp": 1787552776.1933446,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b74ff22c88c45a3d",
    "trace_id": "30eb4f9c25264e50a519a08b3591c447",
    "parent_span_id": "8a0b2b5144b5a463",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552773.4303691,
    "timestamp": 1787552776.1833587,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 395,
      "gen_ai.usage.total_tokens": 418,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQHLxmkgkPvj5Qun1hGrqPQRfUq",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Basic LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 13888ms
checkAISpanCount(1)
checkChatSpanAttributes
a36d6a52gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a36d6a52gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
a36d6a52gen_ai.usage.input_tokensinput_tokens must be > 0 but is 0
checkInputMessagesSchema
checkResponseModel
a36d6a52gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "86bccd5c6f0a981a",
    "span_id": "a42ec4d5f0457656",
    "start_timestamp": 1787552773.5017776,
    "status": "ok",
    "timestamp": 1787552774.6541526,
    "trace_id": "c599931372274dff8f041c3863cb8df9",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "86bccd5c6f0a981a",
    "trace_id": "c599931372274dff8f041c3863cb8df9",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552773.4033964,
    "timestamp": 1787552774.6583357,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a36d6a524c6520fb",
    "trace_id": "c599931372274dff8f041c3863cb8df9",
    "parent_span_id": "86bccd5c6f0a981a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552773.4223156,
    "timestamp": 1787552774.6558676,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.text": "[\"The capital of France is **Paris**. It's located in the north-central part of the country along the Seine River and is the country's largest city. Paris is also known as the \\\"City of Light\\\" and is famous for landmarks like the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 72,
      "gen_ai.usage.total_tokens": 72,
      "gen_ai.response.id": "gen-1787552773-qCOLdG02i8MeX76ebFs4"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Basic LLM Test (blocking, openai)❗︎ 13758ms
checkAISpanCount(1)
checkChatSpanAttributes
8143e9c0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8143e9c0gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b02c4458d8e54583",
    "span_id": "97edeb67a1d02d64",
    "start_timestamp": 1787552773.4842045,
    "status": "ok",
    "timestamp": 1787552774.5768044,
    "trace_id": "b51e538134a3470fb34a9849d8cd158c",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b02c4458d8e54583",
    "trace_id": "b51e538134a3470fb34a9849d8cd158c",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552773.3932695,
    "timestamp": 1787552774.5816832,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8143e9c08e70c385",
    "trace_id": "b51e538134a3470fb34a9849d8cd158c",
    "parent_span_id": "b02c4458d8e54583",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552773.4064074,
    "timestamp": 1787552774.5812016,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQHJ63Yo6Y5Ru8twg8ONaU00UEh",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Basic LLM Test (blocking, anthropic)❗︎ 1⚠︎ 13413ms
checkAISpanCount(1)
checkChatSpanAttributes
9fa876d5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9fa876d5gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9fa876d5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.usage.cache_creation_input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation_input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read_input_tokens(1 span)
Attribute "gen_ai.usage.cache_read_input_tokens" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9e70878173bb1799",
    "span_id": "a7506f7aa00f68a0",
    "start_timestamp": 1787552773.467203,
    "status": "ok",
    "timestamp": 1787552774.4719474,
    "trace_id": "1cbfa79444e94837821c6eb38329aac4",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "9e70878173bb1799",
    "trace_id": "1cbfa79444e94837821c6eb38329aac4",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552773.3739622,
    "timestamp": 1787552774.4794486,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9fa876d556b0c74f",
    "trace_id": "1cbfa79444e94837821c6eb38329aac4",
    "parent_span_id": "9e70878173bb1799",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552773.386514,
    "timestamp": 1787552774.479057,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.text": "[\"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is famous for landmarks like the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.\"]",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 61,
      "gen_ai.usage.total_tokens": 81,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552773-mZzCFrfZwu7a0EyaZhhH",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Multi-Turn LLM Test (streaming, openai)❗︎ 118816ms
checkAISpanCount(3)
checkChatSpanAttributes
a7b9a290gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a7b9a290gen_ai.output.messagesMissing output messages attribute
849aa133gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
849aa133gen_ai.output.messagesMissing output messages attribute
a06bd8e5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a06bd8e5gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "89653bb43b0c3d62",
    "span_id": "ba76498eaf1090dc",
    "start_timestamp": 1787552773.4471557,
    "status": "ok",
    "timestamp": 1787552775.6157186,
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "89653bb43b0c3d62",
    "span_id": "b8bd84974c1b58c0",
    "start_timestamp": 1787552775.6488593,
    "status": "ok",
    "timestamp": 1787552782.633151,
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "89653bb43b0c3d62",
    "span_id": "977e37309e68c1ab",
    "start_timestamp": 1787552782.6359048,
    "status": "ok",
    "timestamp": 1787552789.9978678,
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "89653bb43b0c3d62",
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552773.389992,
    "timestamp": 1787552789.9990878,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a7b9a290477d06c4",
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "parent_span_id": "89653bb43b0c3d62",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552773.3978477,
    "timestamp": 1787552775.6208606,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQIEoyxer4aVjstTHOwNTt5944T",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "849aa1339b3974da",
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "parent_span_id": "89653bb43b0c3d62",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552775.6332998,
    "timestamp": 1787552782.6336572,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Do you mean which area?\\n\\n- Paris city proper (the commune): about 2.1 million people.\\n- Paris metropolitan/urban area: about 12 million people.\\n- Île-de-France region (Paris and surrounding departments): about 12–13 million people.\\n\\nIf you want exact figures with a specific year and area definition, tell me which one and I’ll pull the latest numbers.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1305,
      "gen_ai.usage.total_tokens": 1353,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQJWWVNH6oxUzxOF3rOv1iroxHD",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a06bd8e51c195c98",
    "trace_id": "63339df665e54ec08489f1e9d4a7ef45",
    "parent_span_id": "89653bb43b0c3d62",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.6346877,
    "timestamp": 1787552789.9985452,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"If you mean the Paris metropolitan area as defined for urban planning (the Paris urban area, or “aire urbaine de Paris”), it has about 12.5 million inhabitants.\\n\\nNote: different definitions exist. The Île-de-France region (the wider administrative area that includes Paris and its suburbs) is also around 12–13 million people. If you want, I can fetch the exact latest figures and specify the definition you prefer.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1507,
      "gen_ai.usage.total_tokens": 1588,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQQRLefCI6ENl3bTXlJuxxm6VRL",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Multi-Turn LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 16360ms
checkAISpanCount(3)
checkChatSpanAttributes
9193fc0bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9193fc0bgen_ai.output.messagesMissing output messages attribute
9abe8860gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9abe8860gen_ai.output.messagesMissing output messages attribute
94b0f35fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94b0f35fgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
9193fc0bgen_ai.usage.input_tokensinput_tokens must be > 0 but is 0
checkInputMessagesSchema
checkResponseModel
9193fc0bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9abe8860gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
94b0f35fgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b23868bc34d919f1",
    "span_id": "8c40b9f0996b8234",
    "start_timestamp": 1787552773.512413,
    "status": "ok",
    "timestamp": 1787552774.3457296,
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b23868bc34d919f1",
    "span_id": "9787d7d6a270b565",
    "start_timestamp": 1787552774.3542624,
    "status": "ok",
    "timestamp": 1787552775.6262133,
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b23868bc34d919f1",
    "span_id": "a40fbb813d51d82a",
    "start_timestamp": 1787552775.646187,
    "status": "ok",
    "timestamp": 1787552777.5028446,
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b23868bc34d919f1",
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552773.408436,
    "timestamp": 1787552777.5046964,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9193fc0bd80c4f8c",
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "parent_span_id": "b23868bc34d919f1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552773.4241235,
    "timestamp": 1787552774.3475163,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 10,
      "gen_ai.response.id": "gen-1787552773-nG5GN4zhTIOWZ0WdtlUm"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9abe88607239d47c",
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "parent_span_id": "b23868bc34d919f1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552774.3519359,
    "timestamp": 1787552775.626728,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.text": "[\"Paris has a population of approximately 2.1 to 2.2 million people within the city proper, making it one of the most populous cities in Europe.\\n\\nHowever, the larger metropolitan area (Île-de-France region) has a population of around 12 million people, which includes the suburbs and surrounding areas.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 73,
      "gen_ai.usage.total_tokens": 73,
      "gen_ai.response.id": "gen-1787552774-CGrai0XS8I9oGwYe6dVs"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "94b0f35fc7d5b4a2",
    "trace_id": "5cfb1ddf8a4246f2bdedb81f8b758a6f",
    "parent_span_id": "b23868bc34d919f1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552775.6362402,
    "timestamp": 1787552777.5032742,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.text": "[\"The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 38,
      "gen_ai.response.id": "gen-1787552775-qoG3qE9U8V5M77gqVNYM"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Multi-Turn LLM Test (blocking, openai)❗︎ 118818ms
checkAISpanCount(3)
checkChatSpanAttributes
88ebc77agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88ebc77agen_ai.output.messagesMissing output messages attribute
97aed9a8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
97aed9a8gen_ai.output.messagesMissing output messages attribute
b789dfdfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b789dfdfgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9251da6993ae59ab",
    "span_id": "903cb2f6e50bd1b8",
    "start_timestamp": 1787552774.0034468,
    "status": "ok",
    "timestamp": 1787552775.9846275,
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9251da6993ae59ab",
    "span_id": "935aa379d5b08046",
    "start_timestamp": 1787552775.9982295,
    "status": "ok",
    "timestamp": 1787552784.8037765,
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9251da6993ae59ab",
    "span_id": "a7c957a676bb9a57",
    "start_timestamp": 1787552784.8082578,
    "status": "ok",
    "timestamp": 1787552790.7938426,
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "9251da6993ae59ab",
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552773.9744236,
    "timestamp": 1787552790.7963328,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "88ebc77a7d527604",
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "parent_span_id": "9251da6993ae59ab",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552773.9795043,
    "timestamp": 1787552775.9920993,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQIdnqLj76LJRFgII4ChOPrSyNB",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "97aed9a858e5fad0",
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "parent_span_id": "9251da6993ae59ab",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552775.9934442,
    "timestamp": 1787552784.8053408,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris refers to:\\n\\n- City proper (the commune of Paris): about 2.2 million people.\\n- Wider Paris metropolitan area / urban area: around 12 million people.\\n- Île-de-France region (the broader region including Paris and suburbs): about 12–12.5 million.\\n\\nIf you’d like a precise figure for a specific year or definition, tell me which one you want.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1754,
      "gen_ai.usage.total_tokens": 1802,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQK03KXONAHM7Asqdlp5aPBFkFy",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b789dfdfb56b08dc",
    "trace_id": "89eb6aca63c346b5aa8e398e017ab2e4",
    "parent_span_id": "9251da6993ae59ab",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552784.8064234,
    "timestamp": 1787552790.7959335,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Around 12 million people live in the Paris metropolitan area (the Paris urban area, or “aire urbaine”). \\n\\nFor comparison:\\n- City proper (Paris itself): about 2.2 million.\\n- Île-de-France region (the wider metropolitan region): roughly 12–13 million.\\n\\nNumbers vary a bit depending on the exact definition used. If you want, tell me which definition you prefer and I can give the latest precise figure.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1254,
      "gen_ai.usage.total_tokens": 1335,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQTRRuWZe2Z8Tye1Zut0GbOIYp0",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Multi-Turn LLM Test (blocking, anthropic)❗︎ 1⚠︎ 15219ms
checkAISpanCount(3)
checkChatSpanAttributes
92daf41fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92daf41fgen_ai.output.messagesMissing output messages attribute
a822bca2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a822bca2gen_ai.output.messagesMissing output messages attribute
ba4c7cb3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba4c7cb3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
92daf41fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a822bca2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ba4c7cb3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.usage.cache_creation_input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation_input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read_input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read_input_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "838f828b109d7926",
    "span_id": "bb1b238a1455c866",
    "start_timestamp": 1787552774.347471,
    "status": "ok",
    "timestamp": 1787552775.5961404,
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "838f828b109d7926",
    "span_id": "947dc90516838c85",
    "start_timestamp": 1787552775.6083572,
    "status": "ok",
    "timestamp": 1787552777.0339901,
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "838f828b109d7926",
    "span_id": "a6ff794f2450e0d4",
    "start_timestamp": 1787552777.0421066,
    "status": "ok",
    "timestamp": 1787552778.0899405,
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "838f828b109d7926",
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552774.310477,
    "timestamp": 1787552778.0922468,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "92daf41f39de8acc",
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "parent_span_id": "838f828b109d7926",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552774.3161168,
    "timestamp": 1787552775.6019928,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552774-gKzrB4L9JgKhAOKAtkuK",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a822bca25221d354",
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "parent_span_id": "838f828b109d7926",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552775.6062722,
    "timestamp": 1787552777.037246,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.text": "[\"The population of Paris depends on how you define the city:\\n\\n- **Paris proper** (the city itself within its administrative boundaries): approximately 2.1-2.2 million people\\n\\n- **Greater Paris** (the Île-de-France metropolitan region): approximately 12 million people\\n\\nThe city of Paris proper is the second-largest city in Europe by population (after Moscow), while the Paris metropolitan area is one of the largest in Europe.\"]",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 98,
      "gen_ai.usage.total_tokens": 139,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552775-X3qBT0duvXbyZTTS1DZH",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba4c7cb303bac5d4",
    "trace_id": "dae076cd913f4e0f8708aa33d9100780",
    "parent_span_id": "838f828b109d7926",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552777.0383644,
    "timestamp": 1787552778.0917387,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.text": "[\"The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.\"]",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552777-GOe6upPxVimuvJxIBOMI",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Vision LLM Test (streaming, openai)❗︎ 12947ms
checkChatSpanAttributes
816f462bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
816f462bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "877cc52d7660a772",
    "span_id": "8794ebc223fc037c",
    "start_timestamp": 1787552776.7113478,
    "status": "ok",
    "timestamp": 1787552777.4640427,
    "trace_id": "422d9c4e855341bcbf459c04be80214f",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "877cc52d7660a772",
    "trace_id": "422d9c4e855341bcbf459c04be80214f",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552776.6467414,
    "timestamp": 1787552777.4751596,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "816f462b21c90152",
    "trace_id": "422d9c4e855341bcbf459c04be80214f",
    "parent_span_id": "877cc52d7660a772",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552776.6596754,
    "timestamp": 1787552777.4663587,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.id": "chatcmpl-EGIQLjiJMSlp9i0R8hwVHqKhgqdOY",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Vision LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 12954ms
checkChatSpanAttributes
a5b5a89fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5b5a89fgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
a5b5a89fgen_ai.usage.input_tokensinput_tokens must be > 0 but is 0
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
a5b5a89fgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a2a5f0bebea269a2",
    "span_id": "b64bb757aac084a6",
    "start_timestamp": 1787552776.9731715,
    "status": "ok",
    "timestamp": 1787552777.777246,
    "trace_id": "ddfc3856a64440b9944a4945488e8b96",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "a2a5f0bebea269a2",
    "trace_id": "ddfc3856a64440b9944a4945488e8b96",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552776.932098,
    "timestamp": 1787552777.787201,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a5b5a89fa07f0569",
    "trace_id": "ddfc3856a64440b9944a4945488e8b96",
    "parent_span_id": "a2a5f0bebea269a2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552776.9391963,
    "timestamp": 1787552777.7814345,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.text": "[\"Pink\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 4,
      "gen_ai.response.id": "gen-1787552777-lbq22zWHeuHman9BwGJP"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Vision LLM Test (blocking, openai)❗︎ 14332ms
checkChatSpanAttributes
89af3178gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89af3178gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8466c93cafe8b593",
    "span_id": "b05023d4a9bea098",
    "start_timestamp": 1787552777.6669734,
    "status": "ok",
    "timestamp": 1787552779.6430855,
    "trace_id": "6b7a121e29c942b3b2e5e3ba5d1c045d",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8466c93cafe8b593",
    "trace_id": "6b7a121e29c942b3b2e5e3ba5d1c045d",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552777.547515,
    "timestamp": 1787552779.6480787,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "89af31787b5b469b",
    "trace_id": "6b7a121e29c942b3b2e5e3ba5d1c045d",
    "parent_span_id": "8466c93cafe8b593",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552777.5705652,
    "timestamp": 1787552779.647585,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.id": "chatcmpl-EGIQN22j6h7siyemRXXeTtho8UAjn",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Vision LLM Test (blocking, anthropic)❗︎ 1⚠︎ 13284ms
checkChatSpanAttributes
b5f951a8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b5f951a8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
b5f951a8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.usage.cache_creation_input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation_input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read_input_tokens(1 span)
Attribute "gen_ai.usage.cache_read_input_tokens" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b451b65ea8515828",
    "span_id": "a0382290c7635c3e",
    "start_timestamp": 1787552777.5438097,
    "status": "ok",
    "timestamp": 1787552778.8291295,
    "trace_id": "81469f3403054bcab05a816b5ce05dbd",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b451b65ea8515828",
    "trace_id": "81469f3403054bcab05a816b5ce05dbd",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552777.4165301,
    "timestamp": 1787552778.8507404,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b5f951a8f2867125",
    "trace_id": "81469f3403054bcab05a816b5ce05dbd",
    "parent_span_id": "b451b65ea8515828",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552777.4410233,
    "timestamp": 1787552778.850164,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.text": "[\"Pink\"]",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552777-8pJn1KHWqSjtueP8STp6",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Long Input LLM Test (streaming, openai)❗︎ 13207ms
checkChatSpanAttributes
9979a065gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9979a065gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9f2d53c88539d39b",
    "span_id": "99e3988b621ae2e6",
    "start_timestamp": 1787552777.9922078,
    "status": "ok",
    "timestamp": 1787552779.5088906,
    "trace_id": "019c8f88c3274907a85d31b45c99c247",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "9f2d53c88539d39b",
    "trace_id": "019c8f88c3274907a85d31b45c99c247",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552777.9267387,
    "timestamp": 1787552779.5162697,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9979a065799dbbba",
    "trace_id": "019c8f88c3274907a85d31b45c99c247",
    "parent_span_id": "9f2d53c88539d39b",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552777.934107,
    "timestamp": 1787552779.5118265,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The message consists of repeated phrases stating it is a test message intended to create a very long input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 20,
      "gen_ai.usage.total_tokens": 5449,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.id": "chatcmpl-EGIQMAa2lbZ7WQ7swqXHFq6XZ5RtT",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Long Input LLM Test (streaming, anthropic)❗︎ 1⚠︎ 12740ms
checkChatSpanAttributes
aa091d4cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa091d4cgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
aa091d4cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b83d706664a46ffb",
    "span_id": "a46b9da9b2c9becf",
    "start_timestamp": 1787552778.2971518,
    "status": "ok",
    "timestamp": 1787552779.2255683,
    "trace_id": "dd6baa76e1524e069b7ab47ec8a7d54e",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b83d706664a46ffb",
    "trace_id": "dd6baa76e1524e069b7ab47ec8a7d54e",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552778.2417712,
    "timestamp": 1787552779.239714,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "aa091d4ce813ca41",
    "trace_id": "dd6baa76e1524e069b7ab47ec8a7d54e",
    "parent_span_id": "b83d706664a46ffb",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552778.250903,
    "timestamp": 1787552779.2337055,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.text": "[\"The same test message is repeated many times to create a lengthy input.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 17,
      "gen_ai.response.id": "gen-1787552778-JkQ6UR5BJy5lGfBtfZSw"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Long Input LLM Test (blocking, openai)❗︎ 13026ms
checkChatSpanAttributes
80dfb068gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80dfb068gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b52724bd2d545d0f",
    "span_id": "99aa4067a8f8f9e9",
    "start_timestamp": 1787552778.7532241,
    "status": "ok",
    "timestamp": 1787552779.7016807,
    "trace_id": "2d9db44b673444c3a39b65da12844cf8",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b52724bd2d545d0f",
    "trace_id": "2d9db44b673444c3a39b65da12844cf8",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552778.6541057,
    "timestamp": 1787552779.7081187,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "80dfb068a52545c8",
    "trace_id": "2d9db44b673444c3a39b65da12844cf8",
    "parent_span_id": "b52724bd2d545d0f",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552778.6616766,
    "timestamp": 1787552779.70752,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The message, which states \\\"This is a test message that will be repeated many times to create a very long input,\\\" is reiterated multiple times to generate an extensive input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 34,
      "gen_ai.usage.total_tokens": 5463,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.id": "chatcmpl-EGIQNneFeHj7k3SRT0l1rTD4WgyvY",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Long Input LLM Test (blocking, anthropic)❗︎ 1⚠︎ 13333ms
checkChatSpanAttributes
8be05051gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8be05051gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
8be05051gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.usage.cache_creation_input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation_input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read_input_tokens(1 span)
Attribute "gen_ai.usage.cache_read_input_tokens" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "97d6fb09e4ca31df",
    "span_id": "8d21406e05a04b2d",
    "start_timestamp": 1787552778.680653,
    "status": "ok",
    "timestamp": 1787552780.1331716,
    "trace_id": "90b768c9c59648ae8c8b3b7150cccf40",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "97d6fb09e4ca31df",
    "trace_id": "90b768c9c59648ae8c8b3b7150cccf40",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552778.6227539,
    "timestamp": 1787552780.1380672,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8be05051b690c16a",
    "trace_id": "90b768c9c59648ae8c8b3b7150cccf40",
    "parent_span_id": "97d6fb09e4ca31df",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552778.6304214,
    "timestamp": 1787552780.1376429,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.text": "[\"A single test message is repeated many times to create lengthy input.\"]",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552778-eunsw1nxxErWFtPvgRFc",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Conversation ID LLM Test (streaming, openai)❗︎ 19252ms
checkAISpanCount(4)
checkChatSpanAttributes
8ea91f71gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ea91f71gen_ai.output.messagesMissing output messages attribute
b761f513gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b761f513gen_ai.output.messagesMissing output messages attribute
ae952eb4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae952eb4gen_ai.output.messagesMissing output messages attribute
b7aa6bbbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7aa6bbbgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b9fe9c14e3537f39",
    "span_id": "aabf3c66eb5a01d1",
    "start_timestamp": 1787552779.3928154,
    "status": "ok",
    "timestamp": 1787552780.4166355,
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b9fe9c14e3537f39",
    "span_id": "96e15145d763c57f",
    "start_timestamp": 1787552780.4221764,
    "status": "ok",
    "timestamp": 1787552783.295405,
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b9fe9c14e3537f39",
    "span_id": "922b418c3733f622",
    "start_timestamp": 1787552783.298131,
    "status": "ok",
    "timestamp": 1787552785.0271032,
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b9fe9c14e3537f39",
    "span_id": "aca98212dafe9789",
    "start_timestamp": 1787552785.0305052,
    "status": "ok",
    "timestamp": 1787552786.8508902,
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b9fe9c14e3537f39",
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552779.346424,
    "timestamp": 1787552786.8514948,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8ea91f713bb330aa",
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "parent_span_id": "b9fe9c14e3537f39",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552779.353507,
    "timestamp": 1787552780.4181628,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQN38AFFH0LIaign2s9IjLE0Qst",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b761f5138a813cee",
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "parent_span_id": "b9fe9c14e3537f39",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552780.4207695,
    "timestamp": 1787552783.2958646,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4\\n\\n2 + 2 equals 4. If you’d like a quick explanation or a related problem, I can help with that.\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 293,
      "gen_ai.usage.total_tokens": 317,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQPZ7WfSOqBMlLSsN381CNdL7rG",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae952eb4b99d3507",
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "parent_span_id": "b9fe9c14e3537f39",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552783.2969012,
    "timestamp": 1787552785.0276623,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQRLE4PZkW189GLOfeZ6v3BrmGh",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7aa6bbb3d718b06",
    "trace_id": "69bfe1f6072e423ab7e528b1ab38942a",
    "parent_span_id": "b9fe9c14e3537f39",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552785.02886,
    "timestamp": 1787552786.8512197,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nYou can think of it as two groups of three: 3, 3 → total of 6. If you want, I can show more examples or explain other addition concepts.\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 246,
      "gen_ai.usage.total_tokens": 296,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQTqLEFeV5t5vYEUaKXOz6bLtqT",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Conversation ID LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 16162ms
checkAISpanCount(4)
checkChatSpanAttributes
8bc85370gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8bc85370gen_ai.output.messagesMissing output messages attribute
b76bb219gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b76bb219gen_ai.output.messagesMissing output messages attribute
b22cef28gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b22cef28gen_ai.output.messagesMissing output messages attribute
ac89359agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ac89359agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
8bc85370gen_ai.usage.input_tokensinput_tokens must be > 0 but is 0
checkInputMessagesSchema
checkResponseModel
8bc85370gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b76bb219gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b22cef28gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
ac89359agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8633040d07c28262",
    "span_id": "8a37b0a5d4df63df",
    "start_timestamp": 1787552779.3312645,
    "status": "ok",
    "timestamp": 1787552780.3226779,
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8633040d07c28262",
    "span_id": "8395c4ddac62aa78",
    "start_timestamp": 1787552780.3307457,
    "status": "ok",
    "timestamp": 1787552781.2453732,
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8633040d07c28262",
    "span_id": "a1ee381e4d2353dd",
    "start_timestamp": 1787552781.2500858,
    "status": "ok",
    "timestamp": 1787552782.2816625,
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8633040d07c28262",
    "span_id": "bd21153cc349d8a1",
    "start_timestamp": 1787552782.2855575,
    "status": "ok",
    "timestamp": 1787552783.7693484,
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8633040d07c28262",
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552779.2869081,
    "timestamp": 1787552783.7700717,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8bc8537020b39a84",
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "parent_span_id": "8633040d07c28262",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552779.2955143,
    "timestamp": 1787552780.3240154,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.text": "[\"The capital of France is Paris. It's located in the north-central part of the country along the Seine River and is the largest city in France.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 34,
      "gen_ai.usage.total_tokens": 34,
      "gen_ai.response.id": "gen-1787552779-AYmaxzwKDAZGZ2pyP4Lw"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b76bb21945f5081a",
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "parent_span_id": "8633040d07c28262",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552780.3271632,
    "timestamp": 1787552781.246735,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.text": "[\"2 + 2 = **4**\\n\\nThis is one of the most basic addition problems! When you add 2 and 2 together, you get 4.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 42,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.id": "gen-1787552780-16HexHO6c5RvVOxV5GIY"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b22cef28ead94ebc",
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "parent_span_id": "8633040d07c28262",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552781.2483203,
    "timestamp": 1787552782.2820163,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 10,
      "gen_ai.response.id": "gen-1787552781-q09ljjJO0LoMyTxC7WcP"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ac89359a44342091",
    "trace_id": "e5f63a609ffe452fa4af84266ba86918",
    "parent_span_id": "8633040d07c28262",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552782.2837493,
    "timestamp": 1787552783.7697265,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.text": "[\"3 + 3 equals 6.\"]",
      "gen_ai.usage.input_tokens": 0,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 14,
      "gen_ai.response.id": "gen-1787552782-rnT1FIccv5ENd9ahtNdC"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Conversation ID LLM Test (blocking, openai)❗︎ 112147ms
checkAISpanCount(4)
checkChatSpanAttributes
8fa46c97gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8fa46c97gen_ai.output.messagesMissing output messages attribute
8acc737cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8acc737cgen_ai.output.messagesMissing output messages attribute
91e5d82agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91e5d82agen_ai.output.messagesMissing output messages attribute
980a2969gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
980a2969gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "bf78994a4bff8058",
    "span_id": "b4abec7f1075cb94",
    "start_timestamp": 1787552779.6119695,
    "status": "ok",
    "timestamp": 1787552782.3714273,
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "bf78994a4bff8058",
    "span_id": "b880d98ae7ec5c7e",
    "start_timestamp": 1787552782.3771489,
    "status": "ok",
    "timestamp": 1787552785.2496035,
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "bf78994a4bff8058",
    "span_id": "b19267b9ec520d18",
    "start_timestamp": 1787552785.2525854,
    "status": "ok",
    "timestamp": 1787552787.2013268,
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.path": "/v1/chat/completions",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "api.openai.com",
      "server.port": 443,
      "user_agent.original": "langchainjs-openai/1.0.0 ((node/v24.19.0; linux; x64))",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://api.openai.com/v1/chat/completions",
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "bf78994a4bff8058",
    "span_id": "81024fd4757001db",
    "start_timestamp": 1787552787.205045,
    "status": "ok",
    "timestamp": 1787552789.9569707,
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "bf78994a4bff8058",
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552779.573687,
    "timestamp": 1787552789.9584057,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8fa46c97ab4bade1",
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "parent_span_id": "bf78994a4bff8058",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552779.578341,
    "timestamp": 1787552782.374716,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\\n\\nWould you like more information about Paris?\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 211,
      "gen_ai.usage.total_tokens": 234,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQOR6tVW7qd15ib4dHtZsBhLmYh",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8acc737c98cd9e12",
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "parent_span_id": "bf78994a4bff8058",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.3757806,
    "timestamp": 1787552785.250675,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4\\n\\nTwo plus two equals four because combining two items with two more gives four items. Want a quick practice problem or a quick explanation in a different context (like base 2)?\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 366,
      "gen_ai.usage.total_tokens": 390,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQQeYlAii0oyljUXXF1WKxxx2PP",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91e5d82a0a4d1389",
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "parent_span_id": "bf78994a4bff8058",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552785.2514975,
    "timestamp": 1787552787.2024584,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQTleYlSpj15qkxjxCO7ncNZiAu",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "980a296924a7325f",
    "trace_id": "9b68f608dba74e0ba1cb01785a6c9805",
    "parent_span_id": "bf78994a4bff8058",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552787.2035058,
    "timestamp": 1787552789.9580848,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nYou can view it as doubling 3 (2 × 3 = 6) or as three apples plus three apples equals six apples. Want to try a few more?\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 372,
      "gen_ai.usage.total_tokens": 422,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.id": "chatcmpl-EGIQVsg9nBgQMXX2BjgXyH5F50ELS",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/langchain :: Conversation ID LLM Test (blocking, anthropic)❗︎ 1⚠︎ 15088ms
checkAISpanCount(4)
checkChatSpanAttributes
907170fegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
907170fegen_ai.output.messagesMissing output messages attribute
b9374b4egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b9374b4egen_ai.output.messagesMissing output messages attribute
bb464076gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb464076gen_ai.output.messagesMissing output messages attribute
9cab4e5egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9cab4e5egen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
907170fegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b9374b4egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
bb464076gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9cab4e5egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
gen_ai.usage.cache_creation_input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation_input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read_input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read_input_tokens" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "aea6cad53a59de5d",
    "span_id": "a2fdaff22d538bcb",
    "start_timestamp": 1787552779.7304463,
    "status": "ok",
    "timestamp": 1787552780.5133612,
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "aea6cad53a59de5d",
    "span_id": "9b8b9bffdc2dcfb7",
    "start_timestamp": 1787552780.5184965,
    "status": "ok",
    "timestamp": 1787552781.4167693,
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "aea6cad53a59de5d",
    "span_id": "a1e4b74085063e42",
    "start_timestamp": 1787552781.4230762,
    "status": "ok",
    "timestamp": 1787552782.483039,
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.path": "/api/v1/messages",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "openrouter.ai",
      "server.port": 443,
      "user_agent.original": "Anthropic/JS 0.115.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://openrouter.ai/api/v1/messages",
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "aea6cad53a59de5d",
    "span_id": "909fdafe7232dd19",
    "start_timestamp": 1787552782.485602,
    "status": "ok",
    "timestamp": 1787552783.1992188,
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "aea6cad53a59de5d",
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552779.7021582,
    "timestamp": 1787552783.2003193,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "907170fea47d9bae",
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "parent_span_id": "aea6cad53a59de5d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552779.707742,
    "timestamp": 1787552780.5160038,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552779-0hbzE9aCD08tDI9odkgg",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b9374b4efd02920e",
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "parent_span_id": "aea6cad53a59de5d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552780.5169725,
    "timestamp": 1787552781.418543,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.text": "[\"2 + 2 = **4**\\n\\nThis is one of the most basic addition facts! When you combine two groups of 2 items each, you get a total of 4 items.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 47,
      "gen_ai.usage.total_tokens": 70,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552780-JByMRD5S28znlGwb9Aio",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb46407628814be7",
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "parent_span_id": "aea6cad53a59de5d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552781.4208338,
    "timestamp": 1787552782.4838982,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552781-ojI1lwb1sZOYkPX5MkLy",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9cab4e5ecac7c686",
    "trace_id": "521f6bea64d64afab7c8ce4cfdeac8be",
    "parent_span_id": "aea6cad53a59de5d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552782.4845753,
    "timestamp": 1787552783.200031,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 16384,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.text": "[\"3 + 3 equals 6.\"]",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.usage.cache_creation_input_tokens": 0,
      "gen_ai.usage.cache_read_input_tokens": 0,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552782-5OvuanArdOpOyGjCA6tf",
      "gen_ai.response.stop_reason": "end_turn"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Basic LLM Test (streaming, chat)❗︎ 14540ms
checkAISpanCount(1)
checkChatSpanAttributes
a0846f90gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a0846f90gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a0846f903cdc39a0",
    "span_id": "bcaed09173afdeca",
    "start_timestamp": 1787552782.2464924,
    "status": "ok",
    "timestamp": 1787552783.436059,
    "trace_id": "e603cda8406a45098503cf53b96bd701",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a502c998db5919ed",
    "trace_id": "e603cda8406a45098503cf53b96bd701",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552782.1916745,
    "timestamp": 1787552783.4380333,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a0846f903cdc39a0",
    "trace_id": "e603cda8406a45098503cf53b96bd701",
    "parent_span_id": "a502c998db5919ed",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.1987512,
    "timestamp": 1787552783.4377384,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQQW0IvpleWw0hv7cyMSOTa67FA",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Basic LLM Test (streaming, responses)❗︎ 16670ms
checkAISpanCount(1)
checkChatSpanAttributes
ad40d9e6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad40d9e6gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "ad40d9e6c4411396",
    "span_id": "a4dd46a47b32644e",
    "start_timestamp": 1787552782.2423034,
    "status": "ok",
    "timestamp": 1787552785.9763334,
    "trace_id": "667fc77edc954fb483ee72f09c22945a",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ba6859721e26aa4c",
    "trace_id": "667fc77edc954fb483ee72f09c22945a",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552782.1901162,
    "timestamp": 1787552785.9784966,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ad40d9e6c4411396",
    "trace_id": "667fc77edc954fb483ee72f09c22945a",
    "parent_span_id": "ba6859721e26aa4c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.1994746,
    "timestamp": 1787552785.978099,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0ec777a4abfe56a8006a8be40e5ecc87d0888d0abc45ed47ce",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 287,
      "gen_ai.usage.total_tokens": 310,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0ec777a4abfe56a8006a8be40ec2d087d082e123ef03afee3e\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QR-RTzrlRg33d1ZVNY5YIUw1c7uKOOiKkYtxKjtVFVnNXU9gu57VRJ6rEQ6pm9fu10zVGuclw0nDBQmyaFm9lExsM9IyQF2t7K3UhBnzNfy_B3V3WjgDcTK1MaTWzZ8Bifd6m8JJetjhhv5HIYPoeR1snxSME-vRxMtCtPP219VWSA_5ujQtDhaGAHSyzJo9ylgvBtLt4bfTPzXJZ0mNwgcceG8SL3sn6u82tQmfjCyDtfZGIaMjov1lmEPuyxrzHfDQwqx2YY_kIb4S3g0ItjwJsOr95fNEQgDM-lpN_eX4ujTjknjrWg2I8Wido1DC3G1BF1PJ8M5fn27QomKdV1YoxO_ozX2QFZ6em7XobddtATqJ5SXVty9trKthPCOJsTkbjuiQPWa10-W5LvWmGUZP44wZRzTOdcUwfiQ8cSaPYbSSmYDNe-c_b-_pJ07V9NPLgLSKsC2QOVITFvMpnCx7dsGuG8G5Mt7ggok9iNRqtvDNB7grH8KtyVpe9x9jvdw6MdxSglsm3m61AcQa_an7ff6o_GWv8PU9MsPdCAuekp-_T-1V30d6n91RRg9ZzFQraVEK9xIVkrNHFfmbT0NbVvwPlInS4uxwqAW3upGJ8eN9t56eH8g2DqMoZsp9dhR-uQRm4VBFncCU_NbfPXAHIcZrJx01EDofHP_gQxK2JuwozvH9aHtzJk7ORRzJgy7L5UyOq5lEiuO_pUoWKAV13EsQkgS4dfYkma5Y028KLgfVqcYTc261UtkuEOind4U15v-A58mlBII7MVy-1WFIs8PAvBpWNztTkEz7Q3oMa4A8MwT_-DQeYkNpnidWoMR-mv616kf4WwvNBz4GzKLMLvfAOOiMV15p4-a27_sbky0JATeS13-3nzzl4vs0wQ7kLHzN0wLBhiLcpe7f19Qp5ay2j8-OcUz9oO3zeavYGBQNMCPtZ0tvPNz-OKOtlrgAXLLAF6yEpzjGmC3fPaeUubiJFpgzPVPhiRToAPO_ndmfepvLRfTcpy2hVTP56Lc8iH2HATG7rI1eqR4fYo8qK_TMgGgtp-MbchagoGI-SyVWNIAq8ALLmc11hLbw1IvueQGPXILXAkNOB8bg8oK1gVImRF-Mgxt0rUR__fD2H5eNV0N5gt7Y-_uLPvkudwCehYxmXKGZqMXLs4YxmpFB_-uzSNy9zbZ1_9g7HSNdWx43G8FLdAmTGHhp-ciouBqOQ76TnM7PTazDIzwgjKqcw29GIMLZgbihUJxNFmjuF_OCSebgRlQVlYSH447gP9RJ5kxxPRpbfmsQQ6Wg8U_3YXWb438Qqtv4nxnhwZNcyV2Dnlx3cS-hTEx79YZI7SngSjanvXnQn8PJwm8t7ghb1Gmy3QcdBr1q1Jt2SpQsSS8JpGLmjiT7YAKYbw8ExL2vyZNliimrgUY_vuM8mXCoMWuvc88EuEjbtUiXvJmJwyJX0Qe9NlZ8QaYA4IdOy38OecbWimJNIyUn4QHce3lXV8uK-7WcuYChkGSgq3I4k03djm3HFQBUO7fzvXzf-6MEzzeBXoYZy9UF6K4mN2EjlXOMPEJ5Uw7K-xaf9ajCk6TFMSW72dGUU8WfEsHb8bCRymGUWryTvOtg8pAoXCp2t41F3a0x7c7rvRhuriDZnf6w4_4YliVtYZOzXO0G3USW7lX1wE5uIbcKB_gXLoeUj0PvJlZu04XWmlFA9T0rjUrV3FsMA_xxunrKOcXelv3xpOG4uLWRanWpv0wSs7naBQ9HXVHp3lnvzFN7OuAhPo7q3FR6miznx63dHCeaIvzq2dPcs8KGW-4eGS40zgx3_S0Wa_IMBBRNG8EhOMm84pWdBRC1Ly6JzC1nCzDoIyjWH4UgGpwNAifZGcfQEzgHQYFpHTWRj7ZMcmyVmMIuOjhMQg9a62CZXsneNG_HbrW8oWutT-kMVgD3MeNbXkQqnhqCZj6s3rxbnU0Tz3xAkqGwBPgDE_8D2hKRLUvgIU2MIQsZykZWPiUUlE19xEY-OXNNNZmTKBwYGATooMbW8tNPLs0YO6PMr5xSzBLTZPQu5qDDQBLJmsci2FPKWJCMKflfgwwZNbEGKkhH6eQEwbN4itRlRpdHGoL9Y_ULYTi4jOZBCdRogk1T2FcSZm_cyG8I3zTgiY1JMeiajcHn5MtoygaFxxUvW8HNIlAVs2ww3xvER8NCV9h3szBXdO_Mf5Km5X3dFBcxpGRFamIMmlLN35zJryf0I_ZakkF6XZAVvYoTJNRDqPmaQbBA16QPNZNFFr236DXNBEh6XSYu5DHip7D_AICBSpHw_0KHt_h0WixYQnCip9620LdcPAFektdFAZOxQOrTB67sUnBscYcrS0xUYvCV2K9PnHB1mpkCt25Zu_B04OeTcfpG5SDQRl5XdHD73UOujr2gkb-5YVci66zEXL8d6tLfbrP9B8DpZ8OYf-EVYdjpjMlIsW5YDuKE2bX5X4u4XB4I2VMtLMa7No2x6ofEWeGayYvS31lLptNYtIhwxpF0bDxc1wIeZ8p73GYvkUsrv1GXf-WKYEZ2svSZShT7xNJwEKgEEiNlwfXWDyn823RK4yv7jbo9D_HPKpFbpXqPpBmkqAoQSRi4kzlbwKMu7XgzhVF2Ea2oEb1vZe8fkWySihTkB9bCzh3rQ1bDsjGXzuq2WzIvFg9Osle_gFTecaiEEItsfo-9M7DcHNnFYntAoNn-_BEyGiO2SBvTeAhuaaM8FGKJHxpHwoJrZFrQngQqqCjDoRo30fiIC-N-huUYAnATIIypbCZlfH_Slw3AM-VD54Zg7C5Xp9vN4SzkNA-tBWXbQsKQQwLLBG62rBC72UyYJBFnxVAycV8C6H3C4TmMAQ8vY=\",\"summary\":[]},{\"id\":\"msg_0ec777a4abfe56a8006a8be411a2d487d0a2dc7b780e541c4f\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Basic LLM Test (blocking, chat)❗︎ 14221ms
checkAISpanCount(1)
checkChatSpanAttributes
92948602gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92948602gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "92948602143ba01a",
    "span_id": "89ad0e5b96a8adab",
    "start_timestamp": 1787552782.19549,
    "status": "ok",
    "timestamp": 1787552783.7647002,
    "trace_id": "c4674e03d088429f9f1caf90320d9e32",
    "origin": "auto.http.client"
  },
  {
    "span_id": "80cde7adf6fa517a",
    "trace_id": "c4674e03d088429f9f1caf90320d9e32",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552782.176956,
    "timestamp": 1787552783.7675214,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "92948602143ba01a",
    "trace_id": "c4674e03d088429f9f1caf90320d9e32",
    "parent_span_id": "80cde7adf6fa517a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.179256,
    "timestamp": 1787552783.7671776,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQQCkG4y3op34XvhjHz4alxbZDL",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 167,
      "gen_ai.usage.total_tokens": 190,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris. It is the capital and most populous city of France. If you’d like more details about Paris, I can share some highlights or facts.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Basic LLM Test (blocking, responses)❗︎ 14485ms
checkAISpanCount(1)
checkChatSpanAttributes
808087b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
808087b4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "808087b4a86b7e54",
    "span_id": "88469de8b4c111af",
    "start_timestamp": 1787552782.1951375,
    "status": "ok",
    "timestamp": 1787552784.17307,
    "trace_id": "ab9e258418e54e40b9574565d38af481",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b51482cfc404810b",
    "trace_id": "ab9e258418e54e40b9574565d38af481",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552782.1764464,
    "timestamp": 1787552784.177149,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "808087b4a86b7e54",
    "trace_id": "ab9e258418e54e40b9574565d38af481",
    "parent_span_id": "b51482cfc404810b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.1785612,
    "timestamp": 1787552784.176748,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0999d9105942fc0c006a8be40e527c87d0a272e0df040bcdf2",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 143,
      "gen_ai.usage.total_tokens": 166,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Multi-Turn LLM Test (streaming, chat)❗︎ 120669ms
checkAISpanCount(3)
checkChatSpanAttributes
aa759f5dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa759f5dgen_ai.output.messagesMissing output messages attribute
8f0f2ba9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8f0f2ba9gen_ai.output.messagesMissing output messages attribute
a552f3eagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a552f3eagen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "aa759f5db769e19b",
    "span_id": "b54ddbea3c88d69e",
    "start_timestamp": 1787552782.2483103,
    "status": "ok",
    "timestamp": 1787552783.415306,
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8f0f2ba96a2bfabf",
    "span_id": "96d6f32c90636455",
    "start_timestamp": 1787552783.4187355,
    "status": "ok",
    "timestamp": 1787552789.6019094,
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a552f3ea88f8d3fc",
    "span_id": "b84a262c294e97d3",
    "start_timestamp": 1787552789.6036067,
    "status": "ok",
    "timestamp": 1787552800.3550222,
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8015ca3015ada258",
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552782.1945124,
    "timestamp": 1787552800.3558328,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "aa759f5db769e19b",
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "parent_span_id": "8015ca3015ada258",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.2035596,
    "timestamp": 1787552783.4170108,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQQWGfpQYj72BZloo8c7psWOemI",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 91,
      "gen_ai.usage.total_tokens": 114,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris. If you’d like more information about Paris, I can share some key facts."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8f0f2ba96a2bfabf",
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "parent_span_id": "8015ca3015ada258",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552783.4175751,
    "timestamp": 1787552789.6023428,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQRq3KN6LP3QerL4HhqBd4z7BoU",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1236,
      "gen_ai.usage.total_tokens": 1284,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Do you mean:\n- Paris city proper (the commune): about 2.1 million people.\n- Paris metropolitan area (Île-de-France region): about 12 million people.\n- Paris urban area (larger agglomeration): around 12–13 million.\n\nIf you tell me which definition and what year you want, I can give a more precise figure."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a552f3ea88f8d3fc",
    "trace_id": "c399dff9ee704b288f02c519a1179ef0",
    "parent_span_id": "8015ca3015ada258",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552789.60278,
    "timestamp": 1787552800.355539,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQYdd0OT1yJlR1QgTWEenr4t9g9",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 2046,
      "gen_ai.usage.total_tokens": 2127,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "There are a few ways people mean “Paris metropolitan area,” so the number depends on the definition:\n\n- Paris urban area (aire urbaine de Paris): about 12 million inhabitants.\n- Île-de-France region (the whole metropolitan region around Paris): a bit over 12 million (roughly 12.3–12.7 million in recent years).\n- Métropole du Grand Paris (city plus inner suburbs, 131 communes): a little over 7 million.\n\nIf you have a specific definition or year in mind, I can give a more precise figure."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Multi-Turn LLM Test (streaming, responses)❗︎ 121432ms
checkAISpanCount(3)
checkChatSpanAttributes
a811d422gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a811d422gen_ai.output.messagesMissing output messages attribute
a79bcaa3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a79bcaa3gen_ai.output.messagesMissing output messages attribute
90eef312gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90eef312gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a811d422dbef1f8b",
    "span_id": "a97f42396ca4098a",
    "start_timestamp": 1787552782.195397,
    "status": "ok",
    "timestamp": 1787552784.4650915,
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a79bcaa30e56e5f9",
    "span_id": "9fed6dd8b78d5736",
    "start_timestamp": 1787552784.47029,
    "status": "ok",
    "timestamp": 1787552789.9934134,
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "90eef312512d7db1",
    "span_id": "9f6e77795ee69451",
    "start_timestamp": 1787552789.9954782,
    "status": "ok",
    "timestamp": 1787552801.5466058,
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "origin": "auto.http.client"
  },
  {
    "span_id": "baea35fc9aa032d2",
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552782.177062,
    "timestamp": 1787552801.5499802,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a811d422dbef1f8b",
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "parent_span_id": "baea35fc9aa032d2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552782.179295,
    "timestamp": 1787552784.467743,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0feea6609ec72070006a8be40e584887d0ad8f75326a711c88",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 221,
      "gen_ai.usage.total_tokens": 244,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0feea6609ec72070006a8be40ebe9c87d0b603142abde3b2cf\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QQ9kW9hoiBqsZFMcKqtWgvaA_EzpYOva7J6eUZs1UXo3g4U6oM-IrLlbVDNshIjA-I0u4Ufn1FybwBJQO4YXJL3eusqlZ-7Fjy6jvt886-wLJp51CfDw7jSAHeYhYYE46D4rua1_di-RRkGY4aAiO4830b-3kG_PIEip1B0184LzjWuppEK_7cz4DSdaohEVpFEjigD6BhQSkMnWuhqtWiYDwuhKzJcGBdrvMgk5gi--CLjOTyK6MstECqId_UCeIK7HNzRc8ipn5i-YWKWxrNGhUFGMz2hBnZ4golK4zJ6cb3gUTJgC33tBX1F_aX0XDBpVnVn3k0nX4JaOxidyZG1P-TOAx9i9Z9P2FBZQrhIrG7x0cdB0T1QHzVqXiDPwFYtn20a8CYn7B8eN_zjenlvFXTfIw8wSrUXmLSm7IvTu9fkybr5o19OfHysMto6WKt9m1I3p4Pxx78ynF9-bG2YmH2qR9HE8M00fMvIXYXe4zU9FZAmQZ3_2YVgRd5CmldcAzmbxuSVOYLPqNsbYJb5hljts3EOgWfWTCe6mn_L6QnQ7SkbqXdsmZWunPb9tbOw3Jgqw05mJbFvZvRWM11rr5TirbNulp21pQrTL9jEfUFssoZ51RUbmNBVCGKl6tgn2Tx5iD2f2wPWG7vr5x-obunDVqRJXoLP40rb8XG-kVksqeYgWPRWLNtx8-LsNTaKSuYIhYFve8CYIlZrzj2FoksnLHdv8Z_PdeFRCQOj85fBKj3AwXHD94Awqp7-ZP-0x-F3sjc-Y3_ohD8qP97WfH8mHcyPDLy_QtK6KUQ0CAJV9Esro-f32ouSp3BDXYPAuZ0Bl27fdJpptN58dSYPFhY-xJM3IxKTJWP5c3qm8dDrBa-PrjaSXdlHXk3wzWP085Zl1aRit2fChiEVHALxiptkpBkLub4OAiJujG-w_NqWvDCx-0GSuA1zvCtK3Q8klQcKM2XFUnWxi0pncwKuJlVJXc-1WzE0oeto5vcycLPdc4n56HrNnvQ6vvhW54-3XSn5PwXIQPYlYm8pGk1ubBXf7GTWr0ljQcwomQRuqQbpiFOa24Ih29wCylZoYedm0qmZLtPPmbMPmb3S3YlP8YsVNI6iwCNymw52S2euGdrfFGrAegwyWX8brlSKkG8_5M4zoNgTY7PJUAk5wyQtjf85tnqAZNxFaceDfcSSpAujX3qC36RpKvjx_wdGuZnlR0Pxrj6CtyNtGMgHzOIyg10H7CtJp9srPqgxfdnhJB70ip7vwBXCyZddZCOQ1tXoE3VQimOM3Q5EmwDaj50W1O-pOGBKFi3q2TzlRVI2zFrjCNF5IBgRK3mLmFFWiRqEA9GEbNKMpuiisls8aBFomVmaNTn9fJ7IUC9WR98nLHoDF1URSmbLjrxo5VtkPVL5y-p1aO_Gihi9aLBGp6ZhuMX0cofPbuJdsKpBtrk0cKhDVNx79Zg0bYTb8XKvygy-TxaIQ46-NiOBOZ5jgomDDx5SFbprRduWjMCSXm1pz1oKlFAnt-iB9dpJL14lL9GdHbRMHFVXB-enZfcaZKDdpuxEwi8V3he11r-HcomId-ikcdNtlEM66Z4Vn8WZd4Ivjh_a5otBMJfTGe45lEmcpRrCetRStcaVj2Nj_Q2K-Vho1dZ1qj_fOm_Bpzk2jzTK0SKsN52S_l_F-P-ntjj-J9z41a0bP2L3O1JvmbWzzw1EM1DMtaPbJQfORGaGGr9D8t1SMi9DfCDvHNlJIhKKQQWd0LK0zxA50cL8zL4XyHqBLQqNSlroMfzBhDKcYpxi4lpI7LIwhAlZfg2p7-f3Ujvwi_ym7578AwyMl5beKgxBGArwmYEJQTYH01ec9vi8pdhNaQLMIlEHBhP7fcv5alR8wtoHwPqzBdFHIxVRnR8tRnu3kwsdyDfKrsS26FnhDsJ5GHKTtHvflYu_rob7zBenMeXkYN7wc8dVi_LecpzPr9WSyUiRSiWzb2QmfgkeEMTqJuXrCTUGHaoD23Tce-W_ZLDhvtb3jJ4Ss-1Mq7glaTFppbmUUvpVPXRctefV24N9aDm0c7KltDFClLe5ZpAwBMDt0UY1G1Ljo1iuvZjxRO2hRC5VAMjtAiU6FQfbShpFIt-4eyOZmDQpe3X3RLUv_pz2R25Xr1cms6VIFqFAF8im1d6PhlFE16woQi-IgJmal09WtdKlEbGdcv_OkPh11_suLEoNJ32WIulupbMP61_5uIs8ljZMNm9pS6BxKjHIb_9HtrKsF05aVhRPb0aHx9KP8kRbMJacf1Fja-evMctzxQxwNq6q9eelcCiceycrxvOksm1qnpft_h2Q5XsdCf4f9qHzrW6OjwIZW4UZpDloj4B5O3823K4IsL6FPGrImL7mFT09gpsTtDS3Ik97Sh1gO39HXah4ZO7KikcC89MuVeAOht1hBTzJEnIcKk-PRl2orGJl1_GdlhQNjy6hgJNLOp3X0crPw_T0kVt_zXNJqChqjiF3ETkkWNf\",\"summary\":[]},{\"id\":\"msg_0feea6609ec72070006a8be410065887d09fe76898cad5b4fa\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a79bcaa30e56e5f9",
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "parent_span_id": "baea35fc9aa032d2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552784.4684923,
    "timestamp": 1787552789.9940946,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0e67bfc324ea78a8006a8be4108bf887d09f8685f813a13e69",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1096,
      "gen_ai.usage.total_tokens": 1144,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "- Paris (city proper, the commune): about 2.1 million people (roughly 2.15 million in recent years).\n- Paris metro/metropolitan area (Île-de-France): about 12 million to 12.5 million people.\n\nIf you want a precise figure, tell me whether you want the city proper or the metropolitan area and the year or source you prefer (e.g., INSEE data).",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0e67bfc324ea78a8006a8be410e50487d0812562ab2cd6b330\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QVvDtjWD8d5LKWuXT1h-cn2asPZDoacgIt1UC4IF9kEEzkW2MW3k-Vs-ajB3B7Z1TBNoGVo-S6vazL99cEzB2LlK5uvSo0RSldDSdA-jDVnzg6Byi57DsRB_Yu_gz0ngQXzVHals5x7OrMJn0LCQ-AU0Q0NIW653eJSzZvmPdBkQdg9CD98AXpUO2VYTUMlD0wVPMF0hzCwsSLlGMP4gkyuhYRARTmEF_rCRHkxrmFJLCIX79RwnlUR_b33aLaupGk0P0j2oQY4h27NmWTgjIPQAqEcn_Un4U2CbDqpSYjCAPskTiwfBDuPIdNw17qEtHGJ2hHV0uUeQA8v3n7w0a_egD9D1rg1Qk_3uELzkq8Yp68QV6fXYkYmmds2N4esTIyZXefDMKaeYR45z8LJwhfNYvZ5j619VU82tCWgRRDjTa7E8i0GnTYNt-WNIll88gKi7pM0ciIuRR82jKgtsTtrrsqlUnNTm0hCMGKTpzJS9cC2GgiZ9qGWSIqMfeBT6HZ-Tcs1opXr38Xsc7U1kKBb4rr7H8lqsSArTj0BuO6JadH4vWTAPehTg_TCDNCewOkzz9pFmMvxEsB4pF5z0R_U-418oGskKJIgP3CELRp0WHiWL55YhxI7utFs6bLFV5G4bGsi2twL2nVGLtgUyvL9pw9xGnn7AaMzbaxmXcL-tIQVu441_rd_GQ-MD-93P-5ufVcnLQA0xVwZ1bx2mIwJgLkxTwF4XTM3iGL4nBCX7AWkdCjIKNE_1Im4kflX34bCs39c0U6pk88aLH6LRXr8M1D-DsYDjDUvUtrHJj_rY_JjNo0qBH8rh-gU5ga5VW4D599lXbFP2BQlVLyIccUlRxSJjqLetKGoxERXjjE5ItG3aCHbAePkz3DAQzO6kmRB_709J2kJ_9u9BhNM7VrDHXQF1byPUlS6KyN7XTiurYYRROoHWHyTxktiqOuyEtu0p1VcEZdqmjPTOTTzNk16Azf0ZRv9DnLQXxR3A9Wrz9CAbrusFgK9-pv_WTTTYIBgmNCtn1_3SJGg03Nih9GBhYB2F4_C8zlzlvfNl_92k_3EL8uet4rZgEKE-6kZ3P7yCgEJJmz8U4ieVTYIP9cY1yyX-h3nSavKf9DxaIuqRJWJyUCH83UrNKMf8aRbtOmPLNIv6RObrKkG_VnTmoR0e4liF74wvLqVakXwVl0c6XMFcpmv7jS5SoYFOFhCceWQkj7w1wiR_YY8o0LYdFQxcxEP5s2n3ErVXJ9PaVRQU5SEYVJ70lNwEZfGh_PIKkOkcMIml0O-BfdnLp7H1dELrCfvtzCKnDs0ZCKBMDyRBmwQsTsY9zf-3ZTXPn2aKwH3MlUPSzJa5P961hJPYvZPpTw3D4w7pjOl-gGkZBY5hzFxOB5zyyWFUtCTkNe2uWWl4riDmg7AdQhNkQFQkk86DMQyhano6UCzvliJzcG0OGoaewcWlFD7VNKwAqwxlRNyN_EbLAO8ZY2SRGf70JZmvsPrcAOBcDgyZFqM_5EwOU6XnehOSA_je6ZOFCBupk6gBdesQrZP1QatVBUw9RO1321yIJiWYr44R_ZIgA2Dhpi3sVw_Nsk-1l0Z-xgyOpEEusb_-OopkJEzMXA9UD1GMy2taR9Pelj8TYQU6nUz4BYEAppN-jrnD9SrrGgEd-yCZESiO66IeLVuARFsEaaC-xHfDPESYAbusL8WY2CYOij_EdrAFB863MFQGz8qjznKFKOBk7yVIq_xeWm6dHr_bsQ3QcwAc4s8pzCZ6UaVgGHPyS3LQzcWdz9SwX0gq-g6fcDs_uoofEs6ZaW-8pyzoYSVV6QZMvR8aFcUe8do6byR3wMhui0KoPDzV1qYic_UZkU9MSo8yP1Kkp52cY3mpHi6zU_8_NobTbwacPTm9LoBmrlZyWA3f7PPKp5gO6adi5gbRji-HUub6eM4h1mBtG9JcoYSDHfNLqkf6lCC0gXjbDmvmOfLvaeIemYhXAS4W2qRT83Uh3XePO7YwRljU6uD_POLaT_G4Zl5KXjXQXbrBiWCnWiDS-vJfsuAl3XJNt9IWYJ8c7J8699gTFG24WvWyPDbCib26TKItPkLl9a_WvTawXfVzKC_fzLbnNDLPVWGxUK-ma5zL-fhlV_r79iMpA9v3ewHSwMc7DqKzISqe2AZB6TM0TRxxXvEk9KjPMxukLLvo0toVNLbrc1-5Hc_nTvQ9Bf9i97sHhfge4fdn5GK1R0_Bc9lNrg4cNxbn3FGikmaMplM-3nsfqd4xDRtfgA4DQdaKpGY0QbIzUdrVd0KK5mVczDN1qQkHCRgpbznDqHTqohA752v7o0Mi_WQSkJM5xveo-qKp8uLAfWV54Wo16dNAE08fbT8XLVadLgLLOEocd3vdkZcm8NGtx360-CALUNQlVolSozj1GOYMbCy2BHj3fv7Jd3aICIN4RiPNlsst6GrnI3PI5dYHDvWz1XTtLzWxAVnDLOgPnxMn_1y5EOssrmfkwiyGG8rtYl91jjXJsp57I6WRQG0BxhQgum8_QrOB7nBZxDKLHo25yWnmmVooNp5xmMDeZI7CgTHP4Ld-nS_N3odBidayQ9TnRH5F7rcjniCUvT3Fnd0553v4WUbsWZnIPdi_igcsQAyyukvfMahVlhrvvCczdjUYPe8P4GhyDuAG40vFKRyKEksj75pWVC2khu4MFKCqbujuS74uPVCehjjMfgAeb2wgZdGwTzeoJ0OoRlfdfxjGyoRTbVe5El44syoM7SaRAQtAd57mQSVdsORcz5bNycGSou_Vcj-1hraf7o6u5kKZEOpLdFMrNu8Hlt7BawlNIKaY1xlfvvOUg4NvRngz_WTmnsyCd_RydeaWU-nUbD17XIm5UidDJJKxosQvdCVrAh15HBLUsqTtwph43TTuIMxkUTji0-qEC4UoNsIwXBSzZE7ueXzs7soPPvuLQEL8xkA6lgqQYug-x_qRXocLxEq-RzolyFlAosBUT5k_rE5j6wi4OlZXyMwmO0AY-bn99sbu8Uz3gGT0Vp9wRE1_ponjDVEHFv01rOcn_IwHJV6E9CyTXUFBm-rMIGrB_Hb93CW6AT_AGMWMvgHiJ5vOLcfDaYKXJnxzHoDgYqnf99tSvYTnVvMp2TKZ_zmAfe_uENBi-GdcQ4p4BExUmctIMZVOkpEnuL_Y-rYfB-4wddnr00JzfoAeMippeHF9Mr2gsoefzSLGkwAV5BvFQO2Fu92sXyWUHFfclocUT89AGjSeh8-AKzBBpCa6bdk2cTrzLzHn778I7RPFVAYK675Y-kTZI17n320k75d8TSXfsiTXA3IDYLYzcxPG6qqLJVBxkLKHOuzb-i9ci5zDTMCThCkMek6Oe3amtXEjUjw4sa3AfOojhRSKMa0M-JSSrSxF9qRu_YRgP_tz9A7AqlevfqMr3RMOHrEnO2meMMxlUENivQgi_mtUbRXWQxT2yQ_Lii-FRxPBy5pcdwkx84mMaP0u1355ji8eKsAGjplk4hPosnoFLZUuwIZyPpyeHuWL9WiY84r4TMXELiQot4kSEPhpzg4GlqMpgU_q8kGMegrvzDbZYI_1Evzz4F3xOgKbNPJSHqyfnI6rLemB8DwtnXweDQnczDdl6zz2JRC_oEhIJSmuuedhvGTOEoVD2p7rI5EtSnGA4aqaSxh7DPDDwzMOwaw6kvJfsNorV-0PWBHdDoetapw2TkqJRwOARIjrTdkkAcCj0L_OsjkPjITxi4tgqGRionpB-RDAd7TrL62dNPhmx41mWiiEHy6WTOtf2gvOwAlFbZE1jwpWZQ2FjtFQsaVi38fT07P2qALk8AJNWarqIosmcNonybUw7RTMZFpTptaYqLfNwnYhv1vgmLYoM8WYI_uf_CTCigtwAMlIfZbLT7OTW4Z7CjzoeR5BVvT9JWMfjMPKKsDkV84T775te29LVFL0i0erd-_zAlgWS4hUWtGJDznJHJUrTDVv09lmlXZZTkntGk7Wv_qx7u-_75p5_VhTj_mP1WEp9xckIqCfw3gtXun2MPrgZpOLtCjh8UH9GHToAT0Z5k9hCLqXzmkX-sbdZPn9g3q1jVtSjg6gqMfLK2ES2xQxmJnm3UFmZY10QFwlkcJXxCSxhFpSWR4_zBbSjHFS0o9PVOAXibYhqTCKRjoBs_WJOac1udr2Ov94zG_TfcKdApKeHBRnDFxFPu40kM_z9xmBtezr-xGVwqJzAK_17-OvWWkgNLP-sHO9fegiRfWddzhOLn9GmL66641TwT_EL8KZfR5iLtm-ZYAvRmbV-4OBvGIycPOlz-Eh8wr1-M4rlT3BI_O-pruNJIXvSnomBnfgl4QqB68aWZ2K3ELMsXRoZjCznsYzVj5aN8TPXN9l5ALDr34-Df6eiqqJ9xb6bC0DDaFujDMRD7WqLW_xnuNy-fUcMsAJNOijNKddowyw4Xojo3QcFE-iTVfV2ZGExwdCEEgbC8NBykNE0jTb-w84aqHWy4ZWmaHJYV8sHPOW36IqoBpBwLDyWLFI6TSoXv_cVzcYxq9fg6hbYxNBl-aT4UyyPJa4w1R3_lk-DAuNlDkMrA6mD_OF8Y8a5SrTUaJA3G8FEUc-fL8wV9jLCvDjBOPHxHUTTEUNstPJR4xIVRML7u-e2Usn_NGnRkCxG6J5ocOYQ1E6juQ8ITJSMQVDyoRwrMZMHjQqB30tClqW2DA7kqMQZwk-Xo7gDnWavmGqKeLOE5IdKI4WwM0GyXRmsF3ZHumm8BFmKzlCzp2zpTmmU3SiANrJAKKj21angoUvaYc9dmyUwzoDgplEdYZFq9l6XVgDVLt7fuFKY6mjcoMMwwFzGOzhCnIMVrljYXAkIhoeHeq1h_t2dgR34UJBnTn4k6NH_X7RWMEYld5cF7JR7Ba7B_PEoVPlaZ3CFt8IudGRnytkkeMuapMsmfFb5iVEMaOf9fmCGV6o0WEqcU-lKe8G7pfZ_sjUv3VDnBwjZaPDaVHKHOed14hv3Rc9JbsrUKTy24eGVOa2NucTjMXsxHovB-oecdEVSrY7qDeMVi8isdJAPcfZ-kqaOd5s4FRMGY0XLYXA6V0fPl-ERbXFT8nmV73KB-nb1YLNPyIT9GFzZlM-D8-gF4XTW-1wW-KE26CCgqjWC2fwtQ7zfbnaDFTWLKhOozsinj4ZHQ2i_XbFOwyrr6tOVlfIQvmIh43dmnC3L4xN-Bn52nnyLHY4D0a6gTnMlOlzyZc2Dhpln2RzRdL_2uYV5VK6xfbsIdylVwpiLhFDrvhlkWq49dMJsj_W1qcgw4NulJlxFXUP0llZNbcB2oIB8aL1Rsb1f3BsyvfSxw96qQlv-g2-QSFCTzy_85DQ-v5nS4r9EvnbN5tyXis4yrLxezMZYwYm6LiFQLX6gHjjriY63No9iOAjqZE6THxX6_Jj5lCk_QrOa_al-muGJEsbgbqHJBdAzbRTnxHtDxVzYMv7updFqgbwrh6qBbUaw6Hj7YY2hlTKD5Bab9dulrB_8No961QxU_61janSXMz_JpXZcnRFcj6ytFEZjEe963GRTXR_ReXNo7MAfJ4O3mb6NE6gAS2W15nzwhYc48Rr5F-Ye24jSxeUrJlFvKZfryvcyxS2mgcm5OgDCLOMAMPYZRmIiS-7JdmbbVqng0-1YRjg5diM_hI6St9KPdGPe45wpdIGruRImsLxYj9TIyhO-U3mesM-AbvzW6cxlkUxCSTGdg1W7FfKRP0e4Rm2XtNI1LcSi1Owhys3ehUpBd8_FK7Y3bkvRm_PxzrSUKnlmfehX6JOS39o8eYaZPueMbXHwetse8FRRdAUpxjBFtqZrKPQWQV5ueW-UN5ouk8cOUs6xynNyIAsaLUdKLcUEaIneIviY0roJeVAnbbcd1ch1Od_9nckwtDpX-2XTeGWxnh9IcV4KwaUD9dK8EHGT0X5p5K2NZ6_TwcDWymqBLwfKSHfZSQB10cDdMuN1NEa2QziPi6Xr8fxRfyMKgBIJI581l55VCiwSx-1xuK0NVqRsINFl9kwgACxGcDLMFy8KDSU6BmnBDSENgDcKTAz3eJQWEEnHS4VI_fCU8ruVBVodonaN9ZKrYISVey6Ach7p1jDEN7baIjdMRzhaCnThkH-NRI1zGCDigM7hFR8JXjluwssl1RGRmWLTN6_2XV7J5vDUC6BhHRbU0YoGfHGGbRQwZh8yc7EwDoDshGUCMlDTloz_C_R6HAO10gKToRZivncawPjjIzekkAKCTXTjSG56FpQuxLe6g_4-ru1rkaVhtuIgyXzoG-9lUtG4TEJyXgLcVqGhG2XyoB3NIcQZp3xf8t71cLa-IC8_GgUFCKRDb3DUKKdw2cGegYSxg_TT8hhUNFrFXuxfo2GSHKKZH75zLt874QNPTYEZq5l0ExmYkLFowrRfWZ-hmEvsUD4bpWYfPOaz0hQ==\",\"summary\":[]},{\"id\":\"msg_0e67bfc324ea78a8006a8be4156d3087d0a214f34482913b64\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"- Paris (city proper, the commune): about 2.1 million people (roughly 2.15 million in recent years).\\n- Paris metro/metropolitan area (Île-de-France): about 12 million to 12.5 million people.\\n\\nIf you want a precise figure, tell me whether you want the city proper or the metropolitan area and the year or source you prefer (e.g., INSEE data).\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90eef312512d7db1",
    "trace_id": "e0ca7103714a4712aa63bd1ca95a8c73",
    "parent_span_id": "baea35fc9aa032d2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552789.9946232,
    "timestamp": 1787552801.549669,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0abc46a3c586b3f2006a8be416139087d0b489c9496deab044",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 2059,
      "gen_ai.usage.total_tokens": 2140,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "There are a few ways people define \"metropolitan area,\" so the numbers vary:\n\n- Paris urban area (aire urbaine de Paris): about 12 million people.\n- Île-de-France region (the wider metropolitan region around Paris): about 12–13 million people.\n\nIf you specify which definition and what year/source you want, I can give a precise figure.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0abc46a3c586b3f2006a8be416556c87d090eddaa9278c397f\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QgDQ596OMX3jOnG34XXgb-frjLawpBfDMJMLgwKGPeUIjSn2zdd2MfpTlMeYPXFOigHteWB1YndxW38wd_VyYg8osOOLE3hLoQIawh6-Dd_7m2YwfApMHmGIv79hLxV-nWpzfeZWG7SBe5LQCl6kGZvMleGeJuvN1CnkPBUbMq1G9EXv3ddF7C5pquGezTPZLTtxFeHE3g3Er7nvePeCNaKSymjTnjlnnX9HbXdOFNik1n4LZDijmEbfL48HVopgHxY_udSs36j7hHJkfUiZJ6a8zi6H09HYXjMOp8vE7-5zLRy8w2z-zxTRlaWmz_rD3eSG1dY2UvNpTiGKVM4CwAfr9dGXzjw-fmAXX8Iy6QdDGN885wQ_QOyqQbN4pvpq3jhJZJVFCfPpAjr2pvviYTCzLdcj5Wezac6kw47aW1JBtbXdAPaGFhmZ7v2nhtqr1uLeH0WBt9XtnMIAR8A5nCZrvip1Xbh_b53sGp0JJblZJOkwALD-1f2F0JCMAPeGNSydlf-Rsl7ASZY5JyQIFyXHedHvr8Q-QNZIui0gSHFvmo8UjMVD-lQAn7BdZgbGLPl5sCsvZA4faZIcq29drBXU_t_FfSe5H2y0iU6c_9xwtGNo17_jucibs6fVjnUjWYGEMAKrsGZnI26Tmai6Xq5swsDyv3hWIgQ0vOEoGTc9lg6NDenkWJmGwQ31mtAc_Syl61TC2PkgQf-gQcdWpZ568KfY5QBUtau3yUlOezMpn3ur_2YBeDi7GNQlXunCuTI6Zang6fMe7HAF5wAmKedcfURyKF6FGNJeK_idUbvuBZ8c9w_nuC_uQwNDQI2W3T4NrIT1mCGwZbCoPs2eLFaAtQqPlYR0CgGqAPt-bTGwCtougmwUrdjNgBeqof_99-afeLp2lbLLesxgiQayUupGBd9LeEpk2CQnFh9pJ0Oy31Ez_y3r4bSXWl9A6aEUrOlpAcfa3jS0mPetvpOKnJcwmELk76pnoaqhzzee93UQipX31MxdSs00agqijEquQ30tPCKbouG--YSu3SPAqrqPOJXtFr14Mr4T6TfLWl92bG7oT4DCFcm5d4qTeQR23Q0eOFZD-icN6IPRvtYiWD2tCvbdCTKmjUmmIOgkOl6zEwxdcMPnZmEUY9G4iZVdfqzAnQd7w33iTuNyMG4VmtTmVIRxlLeBmLGaP3BQI8iprPq18Cd237KqNcEDpjdhGnuGKlqpbLeknOuyJwHhq6F32-fy5jx7BfREonDuJVQ8agvt4XmLDEPzQaHFkmF6W7214E2j_B0TaYC4cJSwxobqSk8nsmtP3YapQVQE8MF0sQrJt-mM_fvHNVMTWazwF8EuNwTrNGb0Dv3VmsNHpH2oZrcQa9XrmNy3N3PrXzoTGoQwpnXldpzbAsm_yvoLEJcaPCScPmW--Q4vh4rlu9JMClC4IQsgGqOtCOyyJpm28c72cUGGhunJSJGZSnkMfwp8rWWW-6HuPmavvg0rVLJHt3_9Cvok1egSQnobmt2304ODuRi7m92H59SLjQYUhe8ZXQ5KfGRHIB4u6h5VWpR4HuTd7oenuaHf1BgDAQVX_fvzPpDnX615Q5Gl0Dd8Sxe8_1qgEAiJ2CpbzDiT58c9288JcSNaE3HkePD8AjcbAkc_lD1IQ2Yha_ZdrTbBF1aEOnilvPuwUWIky46kmMCd2y8IviKjkKhTeLIvuEn-BIaT0842uYwDsyEObDPuEQZwjb0wttiPt4ELtTCfv2l13QDygm4Cr9QHxYdd46OeSpfw_xgN99G2b4VAFeespnkHNqxAOEP9e9pyjz3U3An5muXcqiBwgsSzHqsYtlls78tFXqLPuvtqTzArwnbEijYpGAFOXry_l5affBoljv2WBuanaD7PmOLehEB-5m5hFjBIArHSCCZYhlC3mHxyw37yIt1qsLf0txHNK6Mj1LtrPm78STpUuPIclieHDmZbMK0NeMbsfSwQX5pREjs9Gx1ie5XUKkIkfCzniff6JaTvPmTvjupEiIIf6wUKieJegRG1Ibyk5vrAE-AgTO1dTQN_TaeEX9l-JH3B6SByVy63Ehe73W3XB3C1Wd--CWMMcuFMdkTkBlnwXOCfJDsV5jjM6nT4OWRtUFq4yPhZLj8kE6zp9UEwzHjoTG3JH4OeEqryKtisHLYCsfig9VxbvmaVkLhxiiqXW0Zfa1U4V9c0PU7YO3KRabel36r81CcUvLNvzS9Dsgo9iGDNDC8zZEpxdV7sH26ZiLCeA3v93nhg9e8DXpu0tREGiYmhQVbHswU9hRTDakhupXtnkrShwaeWre2_y0pRpbYSjqieS3yF2jFvjjkClFi_q5fUGfudgepQBQuLzK5iSwM6iBji_7YTXBzZwPCRiA5uV4Ye79N7ruxQCoPZeF9eqL_5BwPYSTByuC27BVW_MwNLx9NrzbKRQXMpEZKUECj4U_bZ7o4W6zmZUeUo_zgILYjojSzy62g0uHpSObBq-WD4yqXGjO1kJ8bO3X0RSa2CndgZAv5XGNPOQUzh1d5s-suUTP0Jbuskl2IThrVm1AQHC5UJi8m-mbYDbsAEsFXI9x2xp9Jpki2EttpKL1byYXHfzS79lkb5pfxmbHxDqYkWfo6VY6XojED2Z6HpNl1N-TQ1x_KclOonr8hItqTQwjeSzG88soUVLDWpipqAClpESDCZl6n7xm-HEOcVDBlLrmsdlrVaerSizgcD3LL1XLRhRcGi6I0sewrhU-HNgorjfD5UB-btg16YoepD-Ds3Cz8fHQm1ofKq8BmP7VorumF6Cq_OSNtpdW449bp5FTf0-2dHuvf1ZElcvNQiNmXJe9niku5-1Jvmq0yJt2O9wh-dd_VMgZOs_fFFwh5l8XnJK9Z4g8MF7YV0tD8Gzj8mcVqbjaq54J9shMcGxqQ6Jzslsq52P5qpmtIoYbvZczH8wWxV1b0B35Upu0OYnpLwGP2kUf0kVh11E85EIml3QhbZKzOY6FbHPnSYe_61SOO1k85sKJda0ZlLNuSBtxSBbE9BJHjr4RM8EKmVv0ze_7Hb6xdgMJmCHOCJY_Tddjd1U7OPq9TcHBDK5mGF5ap3JvahVGMhictW1IuY5ZP6N2n7GiZGHUzkZqIEvJN9e1I2NEhoryQSRn-3MEJ99-HZpXStUkiGrM4centmVbbGaZHWIWQPUkiMS7UXuximD4g6k-9jbJbg5k4_OUH_Kaic_Wixew3AG8VFCHDs2bN_4_VNkIlH8o8SUZzdAqrml0zhbTJIAPu1Ee-WlRTZkDAskzp9cTw0dBei5mMxefEXQxFHg7wQe2W_dUn3S3xvPePnSRqXEJ28CkpiAiwVQSabCKfr35m6gdVR4c2jmh_Z6_WSz48CTkxzTPrx4RRvgFwWKLWvcyAu_p1bVwakXq4RWdKXyGgYJJd9Rm-pkNXY-Rbj5XtoRkhNtHliqz8GmAJ_3NkPZHcA_47eRe4uTI_GTmAF-a7CCSNeGH634wWyY17v-uS5jX652GJ5NB_8YmYbO8ku6zg1DtqchukqUt4eAW3KIWzg-vtIkPLULQykRCLuHH-PiotaMVUWr_1iZrfe639PeJ0a3Xbpe1MIsuSdMh2umToIX9otxu5cjReSS2ZHs3QrUKLaJyKqN-7uDhDKNxUZC7D49N1_QEGp_a-nHu5IqI1YbdYLrLHjMCuj5O5BfFTXTyO4E5tvTpsBRlEMzKt2ePhTNThWY07eu3O1N4loAZJjzUBg4POqwAjv3y5UqKXzgarRGdv9LUAv7OiNUY9m-k2Osth5lV_4yYdIKrGt7WnoluS7DCkE7mgyZC8ZIKETBBb6sPRaeHV_od_tkCv8G0h2oVr8Eu5FXwHzXkLYFa7L6y3Q78NZvVLjJTO2hmRmqYVeO4CAZYE5gf0_59HW0BnKbNBiRF9aqdvItMfBgbHBF2e1UZmubPW36oyfaP8nc4kPppjPu0Dk_YIdTpkzx06oZQgY3gl6heWIMotTMGC3udJCpOnwFhSg_awR8OWIf8TtKDyv0HkQkRVLRnc8Ymi2apRjaVBVOd47xWKRkCfF2Voip33DeJEHWj8Mrr0OhHJdBq2mRKwCmWOyRSHhI84lylKqwIJncIQerPOKFfY2lnjL6Tc1O6WLQPetiBX5T-xbKmXoJ8H9XEhQKVJ0lDlbqJ68coy7W5DSIaFh8p5-CTo2lurTEIZRev03CCkRuKlAd_WzW4sD138fS2r-0O8P-Bci8ry_B4jsNUGkhjMYVF67t0G01CV62yOmikN6M-VG9slqe_n8GweAEfyjFLP-a-cGHk0quIEtltBFswK8P_lKhjlweW96FZij_vovI4Ieooq6LKEr3tHoTFvq1TIOUNSk8RIvz_r7ugr0tPqqeFU5OWUimB4J23bU01VLwaQIkNmJjNlxBYz80g6O3VhnD_WfLuv_91GhEso0KniX45OI-0d3JdEtxupRYgAC8jlb_SbSmnRWQvNjcd508GRyyvvVKetZLpyOK_NxKbhTCgTflFstmkP2nx5IuYxGOMMLs9DKQeTn9NwLgh7xj4bpNqPzMNmUEvxI4J9N1Y6Ahg-bHd8o9JMjVOr3rKW7Qf3gP5Bv4wbtMoM_oJH2KSnujpNRCQk0LI5iLlT1wECU1_Rd6PuTFOnbMBIBDaTFKblmqDvfHfM2gkXEJnvfwoHAP0Ij_2UP_D-NPfcLEGktBQyg0Bog-MSRtCNjy767WoywdhhHH8tg-iza2JDUEpeGswwYIyi-QSId3bUy_5E-4K8VtEnMcUZs8mMyh--Bv94pNmXxwgTau26V0GRDgVDgSX7JyHCFJDEU_S_wjjn5RcNmx_vSx7o7JziTEAWtGDE95KDB8q6iFk0Sagu_jgN_ltXeV3Acax1rEMdzZ1zsnhyQuA0Cv9iWLSdAg6t_y61V0h95mDDaFoIF1fGhd8MuqU9gALN1X0w0JMUjsydWUQP3x9lgeQDkKKPt5jhI0V27iE5sOAQWQYSaspf1s0poeg2Ij01ej-WzgEHS9pXgq5v-DO-CRZSUFiO2Y71TE1dfF62H-vs-f_gPIsdT8ZfLu0AFtNqG0Ltp7wKLhNg6pzvN3Fpw1oetIjz-U3xa3sX9QO3PeEsH8vEbWYXSpZJRQGIE3j23tH90o3oyBr8BeoTNVIrYgcFOW8P7O133ySgUN7pSglfdhIcfU1dWHtGvUGCWPTbl0EBAz3T3JT5qgBGqdgVttPu-PRUuJXuciSSuma4K7uzrmIewwc6NtOSrzUhORfNW_Pv5we1pY7zgbmhIvFhmL36mUE7RawxDTL4a8VrGJHSCj2SPkhytrIqMPkAOlDwERj5Z7RTZaYFUV1IH5d4xddj2m3GFlH20V4xPANwhGJ-QQHXviGQ28nybNNDuX6eGIwW0oCjzJLNpcEplMcX9NaQHY_VetqtSw2Y-EZTlF4JxRL2PhEp-ljNpmvtxYQayv-P1qeyulwOK2ngzgOItfkt5s5317TycXKuae6sCh_PAPSEPtd0sddgfuG2KhgX3n7pVNsGJf8dQV_tJOx0OKRsZq3yQbdtGr7rFyzGMo4gZ1-G8ZL5QN6L-QvUvjszolzZPuCkFrmDUQbplXPBTauaAIu-Yu7glZg-w7Mw1ru1d_aF-Ycwv3ULjVx4HyfebCEmzDtzTYq5ZX29Qat2WcxewhtCyISvPTryGl-a7Op1oOyc5XCKayTef2dTfmOlryT9kAHSgAG9IomrRZlE0cCAbkDPMcTBl_gPlcjxT8gXa1NCKfMtxw3Pq-ohwO43N9QZJ26h5Y-p6XPNFFV-xL60OSwGbxdpYOpvs7SDUUfs7cTnsK6pRn0_J9QUwrg2NVVzT7qO0_tYu8JpM73406RoD6I0uc5G9XPctJlfJGv8fEt376cUl__1xzl2bgXrqf0vBcnomrlRY8RWGgWsi8JGz2F5UITxrSMbISjTmEkXpreZcKPL5j63fQb9v9wJHghl6TS3Z3-u_y4h3TnQp8-zORZydM1RfaxYD5vfN48LdyLM3Th8kP0bgaHgJIUGv_TbPma1toa284CVTedazVVrb5-BTiaifqkKOd0gzStTqZKtR_YW6-BmCQCnqr2kfLfguZnHqoe_ZXanjlZcgjR-nUd-x6-lBaesM6Ki97dTKTjJujTO05I2oQgdzRefdOZYdNPSL7JN0vW-t4U32BzozixdKvw7Rjmq00yn8wLaewK70W0zJjpY8ZsoN3ie_5-5nhtJLugZcNuTgHXmIPWfNWo1cf4qiZtXjiPkd15V_SgZSfHbTCfk5o1SoT6rJFYGsHqF41-lJ83P02gaW2Xd4-Q0H2lbMpqmcU9UALNYhDmkbaF5IA8NIXiI31yDcxF3O6A4mMqIUr_RP9b4cfyaaheC5WWCuHqNJQhpnt97K4_CyI4XTu0UMLkof0YyXUekjWfySGe6NA5mf1pIBCl6oFTTFaqPVzhNELTsmHD0zrEg8h7nzoJUgYBF_fPjcaV_asmY9IAziWFE5PcHsp1f1Hyo7bpDY6q_n8z81hlTEAGAA-uAG-AQDabuffQxmvHsRKVrZH08wzkcIJqV1JGbeLmGMwhK_lw-fYEANZkqrFnV5zONnzihgJzRfPrFP03RjFH94WCEVMbIrr9fxwwIVCyVS5U85WfCFiDhQLLRZPkWCUgQUNJfn7qyIneyPsfMP5twtjKUCYDtHyKpbHjLOL1JQo1qT-HDYHyH7GUQAqar5fidD-N5gRmntFt_nSm1ShYOfbVscHTSvgCPK3RNo2mWkMFD4ZlbPIG_fIYCclBZg25__HVv1ob8-Ew-D58FNA_fX-tyKwtmB8SMJPYBduodp6DxpFh50e7HGKvGQzIEVa5gzATuUw7oyvoBtgdXvwwy7-Uq95DZAhh7PztLS039r1geLG9-G4OZJZgY5oyXFaZBYd-jrlGJ12VtWWlBxE3g-7v5qB8UIu_Q_kF52U9EN0d8MJrozWa75ru1VhWlCuK5gAoUIrvfym6KiXHlOn7RxAdn6jOFA-XkqVDI6clbWjUz4GRJYw26OrGsDeo_G_br9Pev3AdnO3BN1AGff6yT0Z1-XBhXyxYrpcgAtBS6TA3rsO3JIbtFRFL2RVESSsUmdfO_FVktwR6eZ4BW_zplCh3AemClkw4ro2L05jEe6WOQvg2ppnQSWhIq7aPKRpYtwpKQLnK-gcpScRjX0xHunIdxuCVtVxuoyDBlTQbZ2zrZcPUO6vjfZnrKffzthx3Ow7Z7li6UGGiW-Qr38TrWfPZMqF0qVbaerMm90T0lm5cZRm41Hw75ZUfLDbANzapxifAiVKR3qY8VHge6Yxar7Dbo5eZsG-wUe2pHbcL9lCrbvvzMwZHm7Fp-Yw3stKQRW0LkQc8fzJcdnRtid1U09UX6g3EH-QUPTUnHr8z5SLa7jaTP0yZ0n7ZXhUZvGw_mZQaN6cHJla5tKG4cbouPSxKGpjfg-loR2sUW70NioxpFx8KDoP6e4c87i4eU3V2YCD7w10T23fFgahbov55TIoqXyZeTP2pEjTY2w2oqjT8hBu1oN9QznlBVW7YCqrdYad7frYHEeLjrhYwCOt4g518rYoxr3d3GkV4nZlCBDRmrAP3IDASmyJzEJ716pBlesrPQ31b5nBDO1UaImxHZx3rdHz1uRW_okEA1Wzb_36h46dRqM5-HrKcgsd-VchxHTEmwCj6rU-q4lGXpB_V-lKVMTdhYd0nPi630VfR0KAvY7Gz3Fy8W_1IXNrSg72RwxV_g14LMy5gah8phLqWq4LFT1Nhb5wJ9Mn3QlojcW2tXw7eY6XfYbdct5UWly0TKRpZIC-WOdUY2uT5kXpk6tumLSR5wn7FOTSW_6W_ZeuKraRdTcWckhxCNmT8iCLYwAOlNjUlPaBGagSfZjUaFTvfL439-vzdhJGsnNVwblYswPHnXJBXrvq91N5b5fAOgkUt1CGNZaN26GOsUtLqTBbAmsnVQtcavYwGUUfENSmtpc2aX0M1mjRhQCL_ZF5S4MurBv5khVaMmOk76eyDa7SiCSO9fo9-XGCoULQzUrz6534_y-9rlLu20ZyjVuTy3MZgrrCXHjjpKabTD8lcg47NbkhL-VVytQR8sS3XKJQ2_FjeHy8Ipbur1BfbrgdIj738THsuL8GIJ-TyNtwKGAnd_eGheWh7r12NxPZTCYHZQE-ZxLvNQ-MkPfvcDAfYCQAAs835KdDHnaIIBRKEyd_ARGmiPiNEtY7ONfckUfNn3wq8o1whIWs9RAGn6iVsDTF01qrqcW7GNQjIKa0sjR_GbSWEDKj0giLupJInO2KxQbt_0eP2ETEdyQBEo3CsiokYXpempPtFbYdy50IqtMiDJ6KvnhznfnbeGS-cuHmw_VHJP4FzKWKsxA6sBGVIc1FTT4qn7DgImJTWOAt3Jr0I0nTtLx22zRzyJEFvW3RXLCZsF95a9y9wq_1WZsV_kvpv6w4s-9KyzwmBcS1TNdXtlQ6F5aWneJsdUuBzCIk1LCk2o9hO2zrkIYicyNR1wuZdix6RJMkwKcpbYsBtyAGPweWzNlOY49WsjA5t3BQUb7Kr1G8d-XTIBWvry5mhK6qradr0VXo2aHGZEtGdW85pWY9vRMH0y8IzKD5rUZWtnwDzUwcSGSIpu65jtWKo3R5jzHK5cyTPYRdDUYwgKnKOmST6IIYKo0jkGQ8Y58rFMC5X9q1fpa_5Pq_nro-hm8CbzuibWgWUbb9FL3gZM97ZFN0yMrdBTUyr34_VZZ9rBq1cn92mSZAnIy9wuMhBi-erkg8x1JXaoZWU2A0qd19pmtrYRJWVF1wiQjzDQ-N5pkBsE9q3FSX_fYhUndPRJBWs8ACvdH11IJ2yvWaUggqFZ5B4N0-pU455A-m6u6lXVYOKtOd6x9LXdEX4FIixsEud94twH4ZGwqp1N-7P3SasPdkpe_rd_soFnoPcNpRxt5W1ZVUzt1NSR0gWjJ2W5Ki2HtYUGKQONRphS2JpdM0Vd6csLj2O6YWaVsIz-Q-9b5Mos-Il7zGzxKeqeVBBohGu0DzzypepKLcgEShdiQ70DM4dqT8Ip6aon9TDKotkrXSUdzj7mEQ15ieh5Up0Ul3g7I-ne-54NqbVO9R-qBINPIJsshWpAb09bFcq29g4OtaFYPBAEpDF-59YZpEXW1H28Zf9iDSe7l5s-KtbH3S2ldNRTKAAGTNmB7BE901k6JQvsRAZ6cBOshoqV7H4AjlOKhtAUN5BajRO-GWUeBeiuPdN3BnLQOT6mpuvSOdEgWPcvieIojanRhDtw4KQjKF7xQu9CnA5juMtvkVG6KA4JjmzeWdsIacRsL1fkH42poQvwOkEJ6hXE2X4Q9Qr-UyuU-ltPq7GTZUiqPAWVpgQ61u3swqeOsh2kayZR9VnXgieQJf64Cab8lWacPC03Dck3DSmdkio-jUGHM065QeJQ9oHMmFwYjeaEADw6xwGSY31wOxScZc5jpW3k2MiYBALHlQBZIdHZ_GwlKLZVtJBVPmCnE5w5j7RME9GwozCxA8DlKuuz54bCawax9idmQ5rquNxd96PAmkwy7egbv8KgmypMI_Xmdo0auYeZ-6EcJt3uZEe59SSDIGN906cRQIEKMuwqY81Wsciq_N8_gYmXqBfpLwXMHBGd8nirrz4svpy9tiwHZgX1lk2faQfJFQCvlBvZtnyHynekjSoXV7xf5FY4CxlZmp-BtTVgCwGZAadttpI8s00V4IB_R1Ws9qJMAOSGmaeVMD4b7FG7iht7kuuzbcXuPloIRKO66Enj34QVcMfpnJ-XEgrpgDVFDlbZtbSWRYNdUSieuLi0AWvEbhD6sJc77QMJAnxYq_F11HIUwvig_GvcHHQ3Wg4DzbRIFQdZE2k2Vnf4wmu4mC5fr6LeG_iTwk5o-ixAAnr7vCTHPjbXK6n_wrB5r3ZI1HvBX40Gtj20XCTMmUcECvyg-TEIQg4sMGp_8awtWAbeFMdfgfDlSsTdPfuEFvt-cUrDKajzLpf5tjtZ1qRbKXzfzANdLOH9rwj7CcCVkh_CfbSt6ihNCl40aX-twOG1LmQJP4rZ69vJnjaQ9hjdnVItId1RnEcXyQEZn64i_7_3t7h9aAri0AO06v2qYpKOYPbufOs3yOvNQszbBhEg8I9tKBmzIROt1qtWE5DVE0tzFA0D0C8lkQJvcrYUBCgZEYGqiYuzlGAgLEZGGzjsaZY83q1X963wuAHeUa15SiMFEbVTo9XswpHxklWkJ89iozkXicxpAD5ZhELPcSjny48qfxGxZMUf2ZpDksDLXiBXwStl5lGf1uQdxBzv5FXKKHm6YZgQyuort1AFmDQ6CiL9qyrDlJxb3pHoAPYoZgeXSklqKNaEJYG-3iZjG3NrQ0DL2dUGuL9HwjOxuvSlgBVkyRqXTdyMeP8AfahlZBS8qEW1_MJjW1VzGkR1HDbuOdtmahB8zYm-JbbzqmJPbuZOGXAXYqX7Or-UhYFmlHAL7IQTC1YZiKa6HYpW258RuWuCIGstCGW151v--bNc5PPPT7iIQ8ExT4L-uzx7AevopA8R5t5kLT8F7l-186RnaVkD-hdxVchl7tcyeYjHlH7mV6cmibFudmlABb_nGjJmpvKUB2X5HJChftXnXO7X0hmg7lrpnaub84AyOVwL1ExOa4Jh8sIwgHP2-bDd9qxq6uXd2wKluA_EzlBVLv7BP9Q1MitSAjRiXogZjcEq0QXBowyYArPXJ9mlTWEpvHQKg5gYVF6npvCQIpQZpeokDf2jJb1cMBMC0gHChZJdFn5-YXuDpf_weBXgPDuZYyqRyMABMNQzS2f9uQr72FBIb62qphrHT6ctXEUKbBTjV3473Pcb_FqCLh0q44zEA_2aEow6l-U8BqRcG03zoUyPXI7-f1jRvWLZxSdoKok7o_9kAU-9pzUEwLNw14l5aXzTB74xIYSR2PSLxHM9vx36pDLQSEwuwk9mks0GGrB4dlt1qrsRExe7ZIg0BWVLkq0jD-_JK9D0ixX-eF-X_nWsjr1C469uueZMFFUmaxniJCtpCkIh3EBEOk-kohzQpOx4GsXI4YHcwUAexDAiR01GeT6HR4r_FsBbbhzR9q2nAjPQcHMQ0XgchZX2y-MvgkvuYH77GMYiXTFFLMvTkToQw6kDjxSfnrXV6APRMgIzpynxVeuZaLnc9w1C_k1J-mw2bJEXypPejt7BHiyUYxK5Nogr3BoVILxnob1_iWX3QgVh2-0EcfTCWNn7xb-bYUWbJLeROtWSxK8zTPyNs6Ut1QbWSZiRr6VQXS1aaH6qeBCq6JhJQbx11hdKtY_97KUKlPXXUnDfMRkXT18cCIlQFF2SHNoVZNFgwYRYV207q48fXWHWjAHm0t8iKTZlIO62aDuYVu7q7i5LoyHhdutItSy6QJi1NUtHAORo9dtl145D2OMi3c2vBwGpBFSvj8OW0ZX-S7YKThOz3wc6Pgt1T3m9xkdRVbWIgj4ObX4bkYztIfpE03n9rXOHDxoXqze-wgwx379hvwWnTSg1IZawwMqtaNUz4jSoCbI9dQJ1Ljx3vEa5r_NZZ7SLF-lLye2G-FhNXni0X1NlF1B22UO-qMqR7PqN9_Xqug8cHB0Q17YFxEAalVvxEitLV1YkiIv5appQfgvTbT1GbIiRBT1c3sSAY-Cb-_sO0xtw23GGHLtCdaRsKrXMkOWcH-H579vKaBvB-rEgXR0uvQhwHeh7pqr6lG8lOP71W6MolJNzXnebK-0tIn2uEdt0LX010zyzbpp4IQj7fc2DyPbmOEgwml8b8zpL0ulyBaW9QYqtzNSf6g8bzxR6DVNiAvKAAp0fQXK7HLIVwR-RsvP-VlTU9ZJ\",\"summary\":[]},{\"id\":\"msg_0abc46a3c586b3f2006a8be420c2dc87d0b17ff62497030557\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"There are a few ways people define \\\"metropolitan area,\\\" so the numbers vary:\\n\\n- Paris urban area (aire urbaine de Paris): about 12 million people.\\n- Île-de-France region (the wider metropolitan region around Paris): about 12–13 million people.\\n\\nIf you specify which definition and what year/source you want, I can give a precise figure.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Multi-Turn LLM Test (blocking, chat)❗︎ 117821ms
checkAISpanCount(3)
checkChatSpanAttributes
a9a96582gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a9a96582gen_ai.output.messagesMissing output messages attribute
a01e189dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a01e189dgen_ai.output.messagesMissing output messages attribute
97db0556gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
97db0556gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a9a9658257a4c9ad",
    "span_id": "8af7df1ad7cd129a",
    "start_timestamp": 1787552784.0825834,
    "status": "ok",
    "timestamp": 1787552785.214741,
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a01e189dc5aca4da",
    "span_id": "bc36c48f91a30706",
    "start_timestamp": 1787552785.2211885,
    "status": "ok",
    "timestamp": 1787552794.4248638,
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "97db0556aac35736",
    "span_id": "b2738f4f8b27ef37",
    "start_timestamp": 1787552794.4274619,
    "status": "ok",
    "timestamp": 1787552800.9894547,
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8db010f801997a0f",
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552784.0689433,
    "timestamp": 1787552800.9956834,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a9a9658257a4c9ad",
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "parent_span_id": "8db010f801997a0f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552784.0706651,
    "timestamp": 1787552785.2186983,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQSjhcfY6tfq0CXZlIzWnWijfwe",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 138,
      "gen_ai.usage.total_tokens": 161,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a01e189dc5aca4da",
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "parent_span_id": "8db010f801997a0f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552785.2196405,
    "timestamp": 1787552794.4257462,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIQTAocazHXg4yTUzgnIUw46YkMX",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1761,
      "gen_ai.usage.total_tokens": 1809,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris city proper has about 2.1 million residents (roughly 2.1–2.2 million, depending on year and source).\\n\\nIf you meant the wider area:\\n- The Paris urban/metro area and Île-de-France region together have roughly about 12 million people.\\n\\nWould you like the exact latest figures for a specific definition (city proper vs. urban area vs. Île-de-France) and the source?\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "97db0556aac35736",
    "trace_id": "1f7b751c00ff4c78922d9c909515cb97",
    "parent_span_id": "8db010f801997a0f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552794.426394,
    "timestamp": 1787552800.995386,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "chatcmpl-EGIQcKUbC16RRrvFOKZ1ZKuSpD1p2",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1317,
      "gen_ai.usage.total_tokens": 1398,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Roughly around 12 million people, depending on how you define \\\"metropolitan area.\\\"\\n\\n- INSEE's Paris urban area (aire urbaine): about 12 million.\\n- Wider Île-de-France region (greater Paris): about 12–13 million.\\n- Métropole du Grand Paris (the 131 municipalities around Paris): about 7 million.\\n\\nIf you specify which definition or year you want, I can give a more precise figure.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Multi-Turn LLM Test (blocking, responses)❗︎ 119014ms
checkAISpanCount(3)
checkChatSpanAttributes
a8e5cee7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8e5cee7gen_ai.output.messagesMissing output messages attribute
be679de0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be679de0gen_ai.output.messagesMissing output messages attribute
8d7780e6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d7780e6gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a8e5cee7bd9346d0",
    "span_id": "8de5be25731bca32",
    "start_timestamp": 1787552784.2994392,
    "status": "ok",
    "timestamp": 1787552786.5634515,
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "be679de0e868a8be",
    "span_id": "8b9a441d9531b46a",
    "start_timestamp": 1787552786.5695093,
    "status": "ok",
    "timestamp": 1787552793.298128,
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "8d7780e68cbae2c1",
    "span_id": "b9f804b1352c8916",
    "start_timestamp": 1787552793.3014455,
    "status": "ok",
    "timestamp": 1787552802.3565717,
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8901b9881928747e",
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552784.2850678,
    "timestamp": 1787552802.3702404,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a8e5cee7bd9346d0",
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "parent_span_id": "8901b9881928747e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552784.286563,
    "timestamp": 1787552786.5672636,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0aa1f518c18de4cd006a8be4106b1087d0b1ce650636e3828d",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 224,
      "gen_ai.usage.total_tokens": 247,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be679de0e868a8be",
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "parent_span_id": "8901b9881928747e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552786.5679822,
    "timestamp": 1787552793.2992325,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_0d86c8515c20e557006a8be412a20c87d0ab799394e1ee9e0e",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1209,
      "gen_ai.usage.total_tokens": 1257,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris (city proper) has about 2.1 million residents (2,161,000 as of 2020, per INSEE).\n\nIf you meant a broader area:\n- Paris urban/metro area: roughly around 11 million people.\n- Île-de-France region (the wider metro region): about 12–13 million.\n\nWant a specific definition or the latest numbers? I can look them up."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8d7780e68cbae2c1",
    "trace_id": "2cf743c11c35458db162a981e88218ee",
    "parent_span_id": "8901b9881928747e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552793.299744,
    "timestamp": 1787552802.3699546,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "resp_0bcd647e4bb292db006a8be4195ec487d098b05d440c82e61f",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1587,
      "gen_ai.usage.total_tokens": 1668,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "It depends on the definition, but the most common figure for the Paris metropolitan area (the Paris urban area, or “aire urbaine”) is about 12 million people. The Île-de-France region (which includes Paris and its suburbs) is around 12–13 million. If you mean the broader Grand Paris Métropole, that’s about 7–8 million. If you want, I can specify the exact figure for a particular definition."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Vision LLM Test (streaming, chat)❗︎ 1 11424ms
checkChatSpanAttributes
8ed73493gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ed73493gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8ed73493gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8ed73493gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8ed734937d10f934",
    "span_id": "ac1b5b4d05c3cc55",
    "start_timestamp": 1787552785.8385298,
    "status": "ok",
    "timestamp": 1787552786.3752425,
    "trace_id": "dc2d68ae6e8e40b383620bc74d4855b9",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8d1f963c18ef5d41",
    "trace_id": "dc2d68ae6e8e40b383620bc74d4855b9",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552785.8241913,
    "timestamp": 1787552786.3773668,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8ed734937d10f934",
    "trace_id": "dc2d68ae6e8e40b383620bc74d4855b9",
    "parent_span_id": "8d1f963c18ef5d41",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552785.8256721,
    "timestamp": 1787552786.3770561,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQUVbroriDu9rMvAubvlzvGekAH",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Vision LLM Test (streaming, responses)❗︎ 1 12869ms
checkChatSpanAttributes
8bb26bd0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8bb26bd0gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8bb26bd0gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8bb26bd0gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "8bb26bd01516678c",
    "span_id": "add0ba50eb2410d6",
    "start_timestamp": 1787552786.076914,
    "status": "ok",
    "timestamp": 1787552788.0716572,
    "trace_id": "b539fc57bdc34898a60450bdfe2769b8",
    "origin": "auto.http.client"
  },
  {
    "span_id": "91e1aab8cb1591e0",
    "trace_id": "b539fc57bdc34898a60450bdfe2769b8",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552786.0626693,
    "timestamp": 1787552788.0739486,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8bb26bd01516678c",
    "trace_id": "b539fc57bdc34898a60450bdfe2769b8",
    "parent_span_id": "91e1aab8cb1591e0",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552786.0644906,
    "timestamp": 1787552788.0735624,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_02fd33417bf6fa10006a8be41238b487d09a6affb4f1f1ce44",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Red",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_02fd33417bf6fa10006a8be413d19087d09760f1f29bd249b9\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Red\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Vision LLM Test (blocking, chat)❗︎ 1 11407ms
checkChatSpanAttributes
bbb3a836gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bbb3a836gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bbb3a836gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
bbb3a836gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "bbb3a83632a26a56",
    "span_id": "a95d73cfa4a13e7b",
    "start_timestamp": 1787552786.8392305,
    "status": "ok",
    "timestamp": 1787552787.382814,
    "trace_id": "dd4c1ee0f5ab47eeb511b2b6bb5438eb",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9459e51a87efd45e",
    "trace_id": "dd4c1ee0f5ab47eeb511b2b6bb5438eb",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552786.8259861,
    "timestamp": 1787552787.3855708,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bbb3a83632a26a56",
    "trace_id": "dd4c1ee0f5ab47eeb511b2b6bb5438eb",
    "parent_span_id": "9459e51a87efd45e",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552786.8274398,
    "timestamp": 1787552787.3852627,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQVJWumCd1T3Nn8RsifT8mqTE1T",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Vision LLM Test (blocking, responses)❗︎ 1 11806ms
checkChatSpanAttributes
8b22bd2cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b22bd2cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8b22bd2cgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8b22bd2cgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "8b22bd2c7feea2e3",
    "span_id": "8f0500c0fb22aaa2",
    "start_timestamp": 1787552787.228091,
    "status": "ok",
    "timestamp": 1787552788.1713111,
    "trace_id": "e845a43412ca40788925aaa24713ed54",
    "origin": "auto.http.client"
  },
  {
    "span_id": "84d74db463c36510",
    "trace_id": "e845a43412ca40788925aaa24713ed54",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552787.2148063,
    "timestamp": 1787552788.175001,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8b22bd2c7feea2e3",
    "trace_id": "e845a43412ca40788925aaa24713ed54",
    "parent_span_id": "84d74db463c36510",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552787.2163439,
    "timestamp": 1787552788.1746252,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0e4c27db7849e77f006a8be4135a0887d0999126745d1d7103",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Long Input LLM Test (streaming, chat)❗︎ 11469ms
checkChatSpanAttributes
85d18260gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85d18260gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "85d182605e39c7af",
    "span_id": "aae006a98ccf668e",
    "start_timestamp": 1787552787.7308066,
    "status": "ok",
    "timestamp": 1787552788.3325696,
    "trace_id": "2707bfde557b4315ab20f5bf6840f58a",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b3f85068e30eec71",
    "trace_id": "2707bfde557b4315ab20f5bf6840f58a",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552787.7170286,
    "timestamp": 1787552788.3349771,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "85d182605e39c7af",
    "trace_id": "2707bfde557b4315ab20f5bf6840f58a",
    "parent_span_id": "b3f85068e30eec71",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552787.7186708,
    "timestamp": 1787552788.334591,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQVYWAmIafkEmj43lFi9EZdHJ2O",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5446,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "This repetitive test message is intended to be reiterated multiple times to produce a lengthy input."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Long Input LLM Test (streaming, responses)❗︎ 14545ms
checkChatSpanAttributes
8890100fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8890100fgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "8890100fa6eaa15d",
    "span_id": "9886474080d5b8a1",
    "start_timestamp": 1787552788.2575824,
    "status": "ok",
    "timestamp": 1787552791.9259813,
    "trace_id": "1675820b3bff436cbd222533b291936f",
    "origin": "auto.http.client"
  },
  {
    "span_id": "981a6350fc74b878",
    "trace_id": "1675820b3bff436cbd222533b291936f",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552788.243867,
    "timestamp": 1787552791.928518,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8890100fa6eaa15d",
    "trace_id": "1675820b3bff436cbd222533b291936f",
    "parent_span_id": "981a6350fc74b878",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552788.2454338,
    "timestamp": 1787552791.928108,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_099adf92b5fb61d3006a8be414a02c87d0903aa113a558dcc6",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "This is a repetitive test message intended to create a long input.",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_099adf92b5fb61d3006a8be415743487d0b8d173607cf39af5\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"This is a repetitive test message intended to create a long input.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Long Input LLM Test (blocking, chat)❗︎ 11617ms
checkChatSpanAttributes
93b0c1b5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93b0c1b5gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "93b0c1b5aac463c4",
    "span_id": "bb179b9c830ea294",
    "start_timestamp": 1787552789.0000024,
    "status": "ok",
    "timestamp": 1787552789.6806445,
    "trace_id": "28cba975ab0f4a8d91d5c6ef891e581d",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a8859804303960bc",
    "trace_id": "28cba975ab0f4a8d91d5c6ef891e581d",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552788.978656,
    "timestamp": 1787552789.6838412,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "93b0c1b5aac463c4",
    "trace_id": "28cba975ab0f4a8d91d5c6ef891e581d",
    "parent_span_id": "a8859804303960bc",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552788.9811301,
    "timestamp": 1787552789.6834805,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQX1z0UCGmmRqsd8ihCBUEFZGvk",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"This is a repetitive test message intended to create a very long input.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Long Input LLM Test (blocking, responses)❗︎ 11786ms
checkChatSpanAttributes
8d12a205gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d12a205gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "8d12a2056ebd55b9",
    "span_id": "89e96f30eb931546",
    "start_timestamp": 1787552789.121081,
    "status": "ok",
    "timestamp": 1787552789.9564188,
    "trace_id": "1992878c510244b78268bdc2f820e303",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bcf0f432d0e1e6a8",
    "trace_id": "1992878c510244b78268bdc2f820e303",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552789.1040053,
    "timestamp": 1787552789.9603677,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8d12a2056ebd55b9",
    "trace_id": "1992878c510244b78268bdc2f820e303",
    "parent_span_id": "bcf0f432d0e1e6a8",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552789.1059968,
    "timestamp": 1787552789.9599495,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0c4b8e0f33e16c6f006a8be415428487d09740c5e5ddaa5e5c",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 5444,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "The message is a repetitive statement intended to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Conversation ID LLM Test (streaming, chat)❗︎ 18213ms
checkAISpanCount(4)
checkChatSpanAttributes
84ee3dbfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
84ee3dbfgen_ai.output.messagesMissing output messages attribute
b7a5afbfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7a5afbfgen_ai.output.messagesMissing output messages attribute
a408eb73gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a408eb73gen_ai.output.messagesMissing output messages attribute
ab4c32b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab4c32b4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "84ee3dbf351ca498",
    "span_id": "8897024db5bbee2f",
    "start_timestamp": 1787552789.2783644,
    "status": "ok",
    "timestamp": 1787552790.4464743,
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b7a5afbf40e74f5c",
    "span_id": "a2130786f9ca27d0",
    "start_timestamp": 1787552790.450235,
    "status": "ok",
    "timestamp": 1787552792.7363648,
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a408eb73f2d1ccab",
    "span_id": "ae078135888918a1",
    "start_timestamp": 1787552792.738353,
    "status": "ok",
    "timestamp": 1787552794.6617472,
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "ab4c32b4eba52082",
    "span_id": "b5f356474c4d04a0",
    "start_timestamp": 1787552794.6633723,
    "status": "ok",
    "timestamp": 1787552796.5181668,
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "95d159d6a04dbc4a",
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552789.265016,
    "timestamp": 1787552796.5189128,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "84ee3dbf351ca498",
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "parent_span_id": "95d159d6a04dbc4a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552789.266687,
    "timestamp": 1787552790.4484313,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQXIO7lIF6VDeiptorTtjhTiY3r",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7a5afbf40e74f5c",
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "parent_span_id": "95d159d6a04dbc4a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552790.4490561,
    "timestamp": 1787552792.736805,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQYjufJUWJDcZZGgCVfPeg07i0Y",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 302,
      "gen_ai.usage.total_tokens": 326,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "4. You can see it by counting on from 2: 2 → 3 → 4. Or think of 2 apples plus 2 apples equals 4 apples."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a408eb73f2d1ccab",
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "parent_span_id": "95d159d6a04dbc4a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552792.7373078,
    "timestamp": 1787552794.6621885,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQauCgw4EOFncxegoVbeEUL6E3O",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 286,
      "gen_ai.usage.total_tokens": 330,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin. It’s also the largest city and a major political and cultural center."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ab4c32b4eba52082",
    "trace_id": "427abf02bad84ae091658be76b8585c3",
    "parent_span_id": "95d159d6a04dbc4a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552794.6626375,
    "timestamp": 1787552796.5186503,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQcYt3S6qg4MGVEc5QVURVG7MZJ",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 234,
      "gen_ai.usage.total_tokens": 284,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "3 + 3 = 6.\n\nReason: adding three twice gives six. If you want, I can show more examples or different ways to think about it."
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Conversation ID LLM Test (streaming, responses)❗︎ 19259ms
checkAISpanCount(4)
checkChatSpanAttributes
9ee6aeebgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9ee6aeebgen_ai.output.messagesMissing output messages attribute
9c52ceb0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c52ceb0gen_ai.output.messagesMissing output messages attribute
a31c3e86gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a31c3e86gen_ai.output.messagesMissing output messages attribute
a712fc64gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a712fc64gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "9ee6aeeb682302b8",
    "span_id": "a8a44aae63227001",
    "start_timestamp": 1787552790.6032622,
    "status": "ok",
    "timestamp": 1787552792.8522127,
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "9c52ceb0146550c9",
    "span_id": "bff08d5e4b403aff",
    "start_timestamp": 1787552792.8562286,
    "status": "ok",
    "timestamp": 1787552794.9643712,
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a31c3e86ecbb227c",
    "span_id": "bca4532d517ba54b",
    "start_timestamp": 1787552794.9662783,
    "status": "ok",
    "timestamp": 1787552796.6873953,
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a712fc649d8b01f5",
    "span_id": "9adb738977d2cdc3",
    "start_timestamp": 1787552796.6900644,
    "status": "ok",
    "timestamp": 1787552798.9403706,
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9edaf926674dc601",
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552790.5830746,
    "timestamp": 1787552798.9412482,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9ee6aeeb682302b8",
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "parent_span_id": "9edaf926674dc601",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552790.585705,
    "timestamp": 1787552792.8545222,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0ce466d3f94e6bf5006a8be416b7a487d0850014755c652b91",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 272,
      "gen_ai.usage.total_tokens": 295,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris. Would you like a few quick facts about the city?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0ce466d3f94e6bf5006a8be41743e887d0acde5bd607efcbf4\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QYYasiEtGBIi7_cut5-su7gBBWEca7mRAQmuMPFsUSOhoNl-egi61MKaTWBA-F52MT7UkNQj_Kb0GXvmkZYoR9JTlXOu7LI5kWThUe3dK5nRAWYyBNaPgDObbqXfO5K_1CaA-a3rPFF1w8hIGo8z3iWNK3unBhCOb3LPk2-l48gd8jDKjHWWxN70BjjNhqnKtwU2j7yvIUlpKhjUJQoVsxbGhTS2pY4ivgDVNMG_vbIf9wrJ_0QS4_5BNircAdFIKboZPXjdRp2WiwHs4mrFURFcKOmyaRIZ_YVpyjHyc4IXFtJQvqonFzXkbBMec8VLfBvgKGCN8fsf4zDZsn2A3lXUFqWXkTVz2Z65RyOP31PLGw52sYeeXqEGv1llR9Zgs0NE2-vkhd2w1rinJf2BsIrZ50Txj8BguexYY4bxymmHR2AmRwTszgLIlCfo0i984lH_HPZcSoBSHg-CCeC1XuYFKvy4twVb755xgUwY1xaoHz2GMg4Y1ug79lFZh4q3NQJyFgUbP1liAZgo-yNMuzVp_kx2Z5bYMguvNHn-xOEEhAYfKf-TC-AzG6HnnL1EaIczFzX7w2PJ_76QMIsjhZmtyEwn7lV93qvDAbyUwnHwyoXJ8Zn36TqVmPkS14KkK9bIuh69BAeZw8ReBGNiJNUiLSD0Ywa8KTgssv_n9x3YLUgTzUzhCdUPirMTtQksJnF0Zk5sNsx4FzY1oS6wFNlIV0fGfGjdu6NSR-vIBu3KI4gXlY-Il8EawI3PWK1jiGi87bN6_nwYRawSviNdroZt9CRffBEcibFHdNE3L_iKrZVRHeLYyRaepmMCXR2Z0-9bBLB-E9t_RU0nAbJVfoXDiOH2u3moNO1eQZkhaf95_vgAhdRdddmn_x5tV0H-QNMXdIoOxkQ_U41fXmHlj8UntGs1Az8YqU5SjwBYkkKyIPrvYzUwqptzgRrRlcTla-MrMzW_aZkTkaAfK7H1FQUumVVtSFthTKXIVYzDkuvJchM9CtlIC8q9MlLWDFjRRLedCw3joa6sY1Yrxm9SYFzZc8LcJc5Ls7ugB7ezLShQF_lyzaOfJk6puZDIYrvlgZ_5crwyMGG1TMp9-_P4wmwaUnbCL3nO8HLX5PXBbPQt_3d1xKlA9HjoAoSKD7ca1UcNZ73Cm-ID52OPImoxq9vUmQeqQZ6gTMoYNITbqKDnYj3p7DuUGWG1t9if5-UwzZRXDiWN2-LOXzOKyvkbOAXHEliLgaw99A3uc4imFm3PLRTpe3uwIAers1fRoR5_1dgE8dD232LekWdNHNm-ntP1exRKgcsAXTORkQ504ZFI0seq-fEMCsCh22q1-nMXE8YaL62dcUSNaeWuOSjbboTwI4zg9QiHNIb2Ei7HtYCti2q7q0qeB1JQZjFR9kzfhZ8ej7rV_YS8A3LUIRpKhZeoR1_rgqb2iQGpvw3ChEJMCJVdZRIIkywZ6YQoTDE4yUidd5sU6F3brTZYINBEFwm8AhfaugKyFhpYGM0WKsPcpazv280NXAgWh2Yh29uT44Z_XgD7RIhs9yalU1av4u8sKp8E1INuGwEVsRbs_V3yQZLd0X4lSXbvdKagcJfj8pwN60UdMoh-GwtNDrgASD0e1wdh-lPUpJK84BiIp4HBqps5a5k6SthnJVahOM651sBFcfqm13LtFgPYdeJwnzUOUkncbGWBWtknf6Ymlw9GM4MHG3KDsgbTi5TMQlaROBemmxQjCTgwXUICALPR7bwsinYVT-w2InnngrPLFHM53tjTG8AhXjfFNxwZ5fqaXNkGOiydcHlz0eDTm6_8uefjbhT4bso7TKDyzAIBcSArFByQb0ZtFutG99-nRAUOJ2ya46NdSqvBZ0DJE-hQclPxVt3qUnv5zaSEMIoTs6VVGrVG4DvxCYjwYKLelA_wJvXQzsD2f-yniYc-3kNWNNgo0o33xWe8f-ab9npp7qWEnuaktawiNWSmuI5t4q9IK3JbZyjK4iLS2XFQgr4oem69yaelLZEHHyE4ui3wQF2py6L2EW3P098vR9m812fZ_3GvVu2ZN7GVGHYD0DwZ2nGi44TToxGIOvHQnSGaja-fYMAZJVKzQ28Aan43AAMha989ZhKNPuOsabjBpkMI-xfVxs0W5hVwFfK-wgkMdJ-NIjWgd_fk-Roxdy0J19mZLCJ7EUH9qQ-82pFjGdAQ511mdkjf5zacFFm_NjUdVRbz1nVbtKcKVVqdUAnX2LQZmj3PhKObctmN62uxDsN1Q735W6UPVmdBCv1WMrqsoXpfKRxCIbCOriPC-3fNDbQOIILPkOc55pKpmINumQAtkw_iwVWSLtHZKMK7NKEjRSlg3eYkqCqxfu6bifVyxg7Yijafo4Qx6UTvS99E2BsoYvN7du-DcyyMktL-V4nnMseuVHXWIS8kTHgL8LH-4GcZ8xId9QQg67dBbz9X1d56skJbsUFEXwTjwFzfPEfZc-ytj04Sj1GWoqPpWIlqfbaMnzyQjagxLZbRq6rXSHKpsqWanF2S47ohes7-3f6SrbHQDNDvJa7SfvKM68TqI_fcC_FRj99H3ePslUhxaQfWiG51vQH9-vmH6cv2P-rmTcdrQa3_uo2D-aELaHPiv_XlAwBQZQKiWZ1lVkq8SzIQ1kGOvVbQuju7US1Z3NYAOZQdqXH9Z9haO05HlMtyL5_g6yFuVgO69yHBvkOhr_6PTda3RVrmHC6SkRojHRPaMjTGc=\",\"summary\":[]},{\"id\":\"msg_0ce466d3f94e6bf5006a8be418626887d08c1da00b1f122451\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris. Would you like a few quick facts about the city?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c52ceb0146550c9",
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "parent_span_id": "9edaf926674dc601",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552792.8550925,
    "timestamp": 1787552794.9648633,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0a179e7f1ab77e1b006a8be418f0b087d089b511c24c547413",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 335,
      "gen_ai.usage.total_tokens": 359,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "4\n\nExplanation: 2 plus 2 adds two more to two, giving four. You can also see it on a number line: start at 2, move two steps to 4. Want more examples?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0a179e7f1ab77e1b006a8be41942a487d0a7d926c3c3a4f736\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QaT2vq1sJo6bimPOSb_WcznUCvaopH3GQPUMQCO2fhuBUZomcwQB5MOcxTIuw6suAdhkR2StzWU_eSwZp8irL7iuWbdbcODWL3PuJB1XN8Bk_TkdP9lO_LStltosA0t8nwxpExL2Iils9Z_VX_gGJXJ_8XCX4w65VA4-cVzlbga3cyRPg0eHGryCtJI62-r8kFzejFd8ewN_hfapbf_RhT79I1HpHNpC8EIxmV4y-nJf2HnCwshIlp2pdAm8OucCbiumfzO59sHnOrfnhJHh5RgjJsnh_945VIAZTqKH7JYvMrTn3xlOcnEWO2Ojo0HCCp_A2l8IJRdXZgbPI3z2Ot3c3lfYfr0V-Xjpjua5ZCuebg0u3wwVYspvr7OBflS2_GT_fHweIWowVnyakIWpJBZDMqKrXMTLes_e6VMMTyOCY8lon0dgKYv3J5Tq3Z-U8-7cfLHNNncqatcJv2lX0LnHbR1Sj6r-fqrxztPXYiE4KmQ3LzlEZNlW4c28pmC5aX6y_CKKNtHhk4Wh_KDxSU_7ZEHnvQqgrHY3XljjNjufrGJYtZtJvx7cz_daJIr2jDbeQXS0GdYp4zhtzKhZE1JIRwhnNpM0brjok8xFJX9DJW1DiHNIHiVLGGbnwSJkw3D_niBGs_TwCaObk0fXdtnPe_Mz2rHLfPEBXANGoCnXvoCpxQks5_tTQKLSQub2dCkc9Vudh-IDLDOdz-0ATfNqCWrT67V4wGdCOQoMzVwPM-bTeFoz1NYqQurc0BGl9c6RxfdbYBiL7p2wNX3KIVfz2o1p7JAwbJKunvgBtlbjrgmWwSn8FpXY2GICblUeBoJDSkqS9qaZoxxns79MclFKDeV9Bvw8OA1K3YPqzOck1YtC2tr9XAgDUAJerjHuW8afDZxQLHOaOrdVZYvQ91eEHhe1-hrmT7SErnYSwUhb1FD03tUseEngZHeXjldrXoBufeV1mQgrlcdXWayiNtXZ5VZJqm3x9IOIlqKz3jftxnsMHzEOtRRPUltFiDeP6H46j3_QZyRdYgWrB1KBtyEqwoAfHPKs-mKhvMuEYGPCZVzVXy3EUT6_-U8ScTbemCateFeK-kQwfn653EF2ci98svRHA2Vt8wj3EPxXAFaGsPCCZdBuTxbPW_vhiOf98g6O1rIRBU4owyPR0vqRl2a6QbNXQ1pJDXe3_INQgFiZ9jSpJa0swuT53s34cybLjikj2LI4PXe5NUATQyhBqYIGSA0YvEdfQs0BMavw0Y9CdgIxAY5a3usJ3T9vo-tHqrdzGQmrtgKCpot-w6epDLFm8i5x-DiBBe0_DYpqcm7mgowdoYr80zaVqZEO-PBbYCVRtA5h9HMs9kfBbOspnLarwRJv8mWWZtU11URdfysHAPbrCrMOQnk1_W3L-Sw6QHvBqkuz_2O_wzWHEZBAIamE5DXCE8jzi8J_qbi3zMQLgBkbSIZx0EZr3Syq6JjqlcAbgL_EBEvgLV7hX3Bxk0lw7LbcTqwqDrBv2oqJWGh-qX_pKNtkymNBtwQBIxs49p-KfVv2t7yJMktCvT_4rmhId0ji9YG1r5P6CAxAmUeX0_uc2tpj4Q53g5FnU6xTUjvQEPT7Gd-g1RF8TmvwzmmGzjJfx2q9-RcMNMI9f63OEFFZ0bt6UXRxZoHhzf_s8O2qxj7CzhJXO3Hzhh-FX0vZLRR8Lce5JG3mNmgpIiLyEjq3DXjSTb6XmrhFKXQBPVdpZ1tR68nx1XUvCJhhzrn8MLUxyXixcyD2BkiOJ_ZfJivRdrnBKSnTgcFovdrSao6fTmOyzLqOc9rYzyYN2FnTvJadwFbGQeth6LsebzVMQwDMWI9MMox2oTwBkq9gAGQCZUZxf8kRc4gT_lJdb2hdnjXa6hGsELlCzfPFTJfCCifu9H5zeJ5aMkfGW5y6Sef0nutZQ7BOMM7sHuTLieWkKJjsIg5MKCJ5AHdVnjxTeYmzcq3OZhQVuAhoA5SYjcgD4nvq4X0XRDhQkGPyA6QH5AGPBqkWklpRO7SE1FSf14JPts54NgF33Gf4Zpm5zRyx5nwRyQP9ESF4j5P9kH9HtwbNwFRzQ5CVsBwjWow4TyHXti7Qz-Lv25JKua9Es5julJ8GW2BG32hW73i4iej6yu1re4yjEoFQYeJGNL2nL1LhyEGakxYPuMxvqr99if1bBmYYEHrIO0ZwR5TTYnR-GPPVMhHFQWQ1GE_HRaNpAYm3-TO2ECOO2R-hlQf6b_O_3zBgB6k2Njv6P9eoFSGq8icI8eFJUjjzKcOPCsgJ8-MPqOe7wddP2ntHvNkAk-gJrHwipKo2_c3pxTslqQv2Nr51-U-ZS8w7gzoXzLNJDW4UCAvrfPILxUDw0SR2TZBRcSBo3wTdKCnHl3DrKjJkZTob3yO9n5_ZgJ-npoaeC31wi8EtJwx3dsGjtsmUkTD88m04CsSiTapUhrIFFylR0dwXeYg8gZngkcyyl4TyKAPd_2wK5VQuW3mVdwGuHYdSeDDU0wuBdURIkU4-m6AIfTz_OJMqXpSB5mwLbiziPcrVJAKn3_KuaquLmPyV7CAI0vg-WDegRv1BsSt12MxwMByL7P6aQaAG1Plb7LNHTy9D71kiK-l-3N2JceiL_2Skp6hnqtf8Y723v6bQOmwLl8CSJcBDgjZKFJ4xNeU-U=\",\"summary\":[]},{\"id\":\"msg_0a179e7f1ab77e1b006a8be41a6cf087d0b6ba008128665559\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"4\\n\\nExplanation: 2 plus 2 adds two more to two, giving four. You can also see it on a number line: start at 2, move two steps to 4. Want more examples?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a31c3e86ecbb227c",
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "parent_span_id": "9edaf926674dc601",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552794.9653842,
    "timestamp": 1787552796.6880987,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_02c705064c58ea2a006a8be41b0bac87d0a99bcee506bedc1d",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 202,
      "gen_ai.usage.total_tokens": 246,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Berlin.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_02c705064c58ea2a006a8be41b9e8087d09943132e61f14e44\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QcGDuGdYCDt7G14isDJbYfQoxLeyBsGlACE6fbRon6EEbFMK6NsX6Q64Eb9PblRHku-NmikT2HYyz-6zig-6k1LDQpgfA5KcIPOWI8wjCJFuH9s1Fi52STu4SPjLC9wiMzeBy4N-gTgMdaZ8IHxEuQup-yDrwFTzE_WygC60NiTxNUyccumIufnRwBx8D9SThO3BollDb70hh7XJ1xGNMusYOICC4EY3Uie5AtkzCpRbPPvjNRCqQoyHqfnXpScqWzO8H6d0PP756rVCfEixzww7dTqegSu3yhuNXNOi6wmmZvV7RgrpBCbqH8rjDrsQjVaujFFO5UBInrIxOfjEBNBEpUg7OsxUKfb6kKmmm4Vl5KJkz-hTWkWJmFU5g1MLb-ZaLFKHjS0EWgvI7yKaghoGHwtQjPJHamtlqBOj4G_lkvnF02vv5NwRFQWsyteQSL7Ssht8F3Dr31_CcSyQSAO7JipUsvJbgFrYw5W1IizVrltklk52o6Og30czrH1W-dEJopxrRVAeEyeIAguyOwUwAnOFBXK3AIB44YsrfW_jdk7bsch-WsVN1PNTcYBkhpioP1gluZEE31ysHR0OpNckLmWXlCBC054U4MKYO84Mt2hqiJtZ5PiAxKV4UgrenpXBOmS_WOdLDfQq58PV9DxnNCMBkhxUteOdaK7SumlCdnBokZbOBkKzpd3KwEVHvNk4R3g6N41WWI4EL1fZMsqK0ImDG3_wf97gfDJVbY2Odleer0CmjVxl8HJvMLXFTGwfiELQCJJKx2ABFTR21IOlyDygngoydUACcSTabSkDeiJa4FKgDlEhKXYQcDetM9mR-VhOrqqnk20hjTDoah6ZnI_APX31nx2Y_gUTew2v67UC727tnVSqOQCeO576AlxvPCiYQ_51C7ByNwkqCSbhSRZgY6J2VmHVc7kiug2ZnfPGTx2EPYh2tN22NWY2u6kvHIHXMtPkq8XQpw9FYaQkpMVo4gMhc7BPe4Pbi2bvIjdpeeA4g8jf2E7xq0LtROKEC_X1kdiXm_Nt02r_tuY5Y89XKIMQxCynlI6Mo7OZIba7nD2-Wbw7DoBqwTlogv5C16tNl1r62G4rpyZazvmcxmQdOrfOizHmHd9pgr4EQo8pZ2xY1F4Nakg8dIJfCu4qAyUmOow_5fJco0w09Ne2JvOLadoUF2rqLzWMVV_ezruqH6HAJdzJIYVQCEWR7-21UeAKNcgfbEq8i35iD4KsDmnGvHEqoP7rDxo8nZIy2Dp9NoNNsG67enzdgbjd5f03RuQuFaqeSXSuB-FxV96b2CHpVwQRWStAqZPIsKM5sGqDI_9JtWntVFR-0fQ7qox6RuzSZRgh4gDPoTBmjSB-_cKV-qRA84SaNGSNoesukpllS09eAvuKIUTlDkYgjBnTi1O2uhdYCYPzWLILLfg_C3tKWY37BjZtavr3_q7XphwKiqm4qL603Z633bOy67hv28WB8A0Zsfw9jgb3Y3y2jBP5bt1_aT8MRzkByrg-OW6JwJibM7dDjT-SLAMZWOp5aq5VIG-2jhmCk01NbGMi_3IFBNH5ZQiwIX_z7iAXWY0Dz48JsIPMe6QI9hZJFG6MH4zDiD57rWm4t5ADW-tw53yaky75STMK0o4KnqZD9vKBHAKzVAE-SKD9yb5t-Fjxd-iFUl9JS-0h4i8LdXNQlmUs3sG6mIOOqdJhxou75IiK-pMs1OAeEeswzXg995p_An2Wm2wH8DFhw9EIWhBvMQtNW9UKGuPMNG3huUpwpBE2uALsER0w5FGfrxEPo7hzO_Yvz_RylJHIiVp8XkUo93KBZ1kfotWds3Uo4X9BI-SnPwrbauMeXqLXJEmX-8oJRoKdyUWVLftDGkvvOpcYesSgv-Ixw3a3ysSqaLcKjyj7p7bo4TvRFS5QVHfxRCDh9g7pJq1c-JwHtrHc1kX4bqE7No-LDrWT6hglblQM4eoe9yntyshMI0GMo4xTVqQXh7EkxaSara8Lz4DJZvx5Ea_a_WYDKNHz01vIJNkzOBj3TdWnwLXKqbIQfyMC8T7KhlnhJRdKYTCe0e1YcySwjOsX-uPAuedAHMz1AkPKcNpsW_Ngrnj3uYYJb9iUfwaNoOvKPHktHv8sg8NpTXxCkptiCiVsbypl0zs78k3GH0wJaHBXnS9ifXYT1f09ltH7UoXgXHRSFL25O-SV64zMschWZ4UxU9W4jVUVCr5HvM3XDtjjOZk7SrJfr1Kpw8uCNLnxjvXMotLclG7HvFqkjMpFuOO2y0ttCtkhsy1_dhCHBs2RNGxy5pgBxG2no9EBqRbQvWNxd1LpHRzZlyQVfWIYBxhc5Seji0k4Rmg_2anYG4Fa5W0HsfxJ4DYi12z-q_7CiYqBzGPKOufD0a3Z2Ig68GFSIicK-9MkZ20g0=\",\"summary\":[]},{\"id\":\"msg_02c705064c58ea2a006a8be41c77b487d09ebf6cda351b4f82\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Berlin.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a712fc649d8b01f5",
    "trace_id": "04a70d67369e4047ac86af4492f2467c",
    "parent_span_id": "9edaf926674dc601",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552796.6885831,
    "timestamp": 1787552798.9409442,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0d1e95d9952b225b006a8be41cdc3887d0917cb7d90f3f4eda",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 235,
      "gen_ai.usage.total_tokens": 285,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "6\n\n(You can think of it as 3 doubled: 3 + 3 = 6.)",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0d1e95d9952b225b006a8be41d9b2087d0958874c9635d0e10\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Qez3l_YD8Af-htEgD8G4L93fQgtsrvDTnY6EVZepCRogFUk8_XiO5b86DpwzDndA7iCnLIUbQWeEmJY6-dN6d5AW-Yb92uzCnesqi9vBuq6u0Xz1qDAdJFDnTc7IDpmg2Q97611eha9ofnklPGZzluNC7E0mAHTpChDEHLQPBBWbJuf4RyEXw50H66tJCUTz_sQM_qAUURoS6NmNK9AlboBNJYD0eplyrki3wcIp7E7FTsM_HzvfYFnrtmMPOMEdACsYi83aX8ckLhpS6NYrTQ8v3_P4msjCVQD6Lx6nHoRfJpb2RoszHCJDhlr7oXhspY1rzrDU6OUO3iBiMrMZLNXlQP2VB7MSr0ujPJ5QHIjmTsj7gdt8jSapH5N8zItfy33CRmEPh9fihoJD0vEPZlS2vP45OnD6QEAvRgFhKJ0WLu2-Ul1FTUCwbs4X-hjnSvalbioRW-G29EWuDOVeY3DA5McA1yJK3UmWTnxAobJ68uRFRTPm_c2YFkmeNZXKGAmyva2wzEhHKPZ7jHyP9qGKmWw51jl7akEPpGmY7Kos3AZPghh6KT2l8bxnB7aLiOIhum6LvNgahbZ3Ne9cjObQNGB0qo5j4sKyXznmGCTWjfUwPFQ6Hr6OPuEadpUqF3ZOy9Js0WAgDSreOcufDwMkzlHO6rg-fpwe3Cx-OjHH3D950bYLg1F9HXFxSyNQ1mocAZ7KuB5cxmdrRtq22x0xzxd2vPbe8xg05RJ3DNL9KOzvrxAX8N8i8xxi9X3ZTlkIQHN5b1kSJMKGh8mMSP4zE3ztLac-FX5vkwpSbASr_1eFdEib119o_biJY5yIqHkslMp9S8vZ7umSMe_uerSN-at-i6uCxmur52p_TjfIK4Cj5c16o0Gtj8Vo4qckoHJXVSmWanRqKySizPuhNnBadaqOjgFKGoL9OvfCG_wojaRfcepIlHx6wbDwYdYZaHv1o9m3pHXt5zVXVNtixkHFmrfPnZBWCRkKm-UMe2ONAXo1fu7YLGetEsc-tv3yyylQtzQRVabSOyzbXoagHNBTY-rEPk_yBpF30HJEBKSGukpKc71oSjBa-VItHSglaa6XgEZE5xjGldyf_hnLlLi5tff1WCM1K8mRwmsAj82dJUYXI2y5KxsCikc-UjcZvIE6KH2f623zEP8ecsc5OETFJ6cd28SyJGnK-MvvhAOGTIGBM1Ty4Xad772miJmRhpV4PrBvtlly6kYga7rBJz2wHazrBI61mLCAjN7sa0qFa22ee0iQAQGLRHbVCm9tewXO8kBWUQsiVRMm7uajvJ8gFLMyjYs32J9xp5MGYzeViP89c3WoUTTGnGZbkH6xh8Isg_WVZKmMRUegbEZs0bdW7BbyTAjWnHnO3oJzGhyUKoiBV5NNHM_umsjKE_XggU66EiHrF4AXf1c5LXh1kXdzcz-bPi0Kt1W4SlUP8A6sGbYB5Nxfntjtgq61CrgByOoycoqv4BSq-LFFnvrEblfIdnmnBfU5akiLU6LZNFjhxmtsQz50SXmb0u44vioSZUwvKSDbSo6Q4mXf5omVb3uR5lIL-IuAy7Jc7sFFTGSUQcnLYSTSaGsqHqDfN_7W_EmqGnOc8CHTmv3qwOn2Ju1JlmxgT_PxxKRQ1Ie3XUuCfu_5yo2KM6Y4T_eMsXIoIouSw64rAQoxIvt71FAnPY-EvjH1igKs1-psPOwDyzHF_5JIn9ogxsFu32di3vaXUoAPlZBbfNECAYOXii0l6ADbsGNKk52xRNQ-KZOkHvx9zqF4SQ-911dvknYDk7aGvsUeb3AZSfKz4Ne8fCVZgrTGW3L_wgv0GhBmb8XAeXDC7uMNM_60LspwaJPO9U-xKEgCgsQsJi-IxRbk1gOUId5YpXZN8oTlk_gszZnvSxJd0narWP-5hUQX2rl8KbMhaVVMvfIPyFdNNpNO-uHdg_S_giOkPjo9dvY5lxLWPZex_BZRE7rH3ai5dCqfk16Rhou2_ixdLstIgn8MogP6v603FAoAxnEvk85Q-nhv97VrmaBccKPwFhUWJKhnX_Wohk5CwcfJTtIHyhMp5H8hoPgLsNr44ky_q3uoQS6YbnGjGr265Sw8T9AqOB1KDgF1hLsQnOIsIL62xvYD5t_qkQbazAkpaTxpMt_Di9z9dMCT0RR5xLfFHK3LRClvR60E65mBrDp5ZnM1pZTQZ_lkeTteTlO4AqRBTYlHqh3MnzKj-Vb5GnqRCwvVrfFzSQCy3aahZPl-KwsFsejKXjBVncVQ==\",\"summary\":[]},{\"id\":\"msg_0d1e95d9952b225b006a8be41e7b0c87d08d1ed53fa87684da\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"6\\n\\n(You can think of it as 3 doubled: 3 + 3 = 6.)\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Conversation ID LLM Test (blocking, chat)❗︎ 18691ms
checkAISpanCount(4)
checkChatSpanAttributes
973383e2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
973383e2gen_ai.output.messagesMissing output messages attribute
85222485gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85222485gen_ai.output.messagesMissing output messages attribute
a4c2a307gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4c2a307gen_ai.output.messagesMissing output messages attribute
be0770cbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be0770cbgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "973383e22f0bc91a",
    "span_id": "9e6da5a0cc7f0a9d",
    "start_timestamp": 1787552790.9390566,
    "status": "ok",
    "timestamp": 1787552792.3322175,
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "852224857f58e60a",
    "span_id": "b568d6682db0450b",
    "start_timestamp": 1787552792.3361712,
    "status": "ok",
    "timestamp": 1787552794.8794355,
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a4c2a3076ce66b4e",
    "span_id": "b0407e5104f6afcc",
    "start_timestamp": 1787552794.881861,
    "status": "ok",
    "timestamp": 1787552796.2082658,
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "be0770cb5a282d25",
    "span_id": "b3bea5ec0f334af2",
    "start_timestamp": 1787552796.2103944,
    "status": "ok",
    "timestamp": 1787552798.6540942,
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8d1b60a348e69e07",
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552790.9234574,
    "timestamp": 1787552798.654986,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "973383e22f0bc91a",
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "parent_span_id": "8d1b60a348e69e07",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552790.925147,
    "timestamp": 1787552792.3344936,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQZXpfbo7DAGSvgDqf8eHhCmTbi",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.total_tokens": 167,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris is the capital of France.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "852224857f58e60a",
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "parent_span_id": "8d1b60a348e69e07",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552792.3349886,
    "timestamp": 1787552794.880265,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQaeK0JLTLD3X8URi3iGHlIAHb8",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 418,
      "gen_ai.usage.total_tokens": 442,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4. Quick note: 2 + 2 = 4. Want a quick visual or more practice with similar sums?\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a4c2a3076ce66b4e",
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "parent_span_id": "8d1b60a348e69e07",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552794.880988,
    "timestamp": 1787552796.209161,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIQdndtdH1KfbIkCYKuzMDxQT7Ln",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 159,
      "gen_ai.usage.total_tokens": 203,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin. If you’d like more details about Berlin or Germany, I can share.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be0770cb5a282d25",
    "trace_id": "ab3f652f93c4497db1d4620335247a16",
    "parent_span_id": "8d1b60a348e69e07",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552796.2096014,
    "timestamp": 1787552798.6546752,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIQeHUD5kfIXr9wSF3oWwBAur2Bp",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 309,
      "gen_ai.usage.total_tokens": 359,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nYou can think of it as combining two groups of three to get six, or as 2 × 3. Want a quick check with a number line or some other example?\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
nextjs/openai :: Conversation ID LLM Test (blocking, responses)❗︎ 19323ms
checkAISpanCount(4)
checkChatSpanAttributes
82978f1fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82978f1fgen_ai.output.messagesMissing output messages attribute
828dcdb6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
828dcdb6gen_ai.output.messagesMissing output messages attribute
9e788b9egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e788b9egen_ai.output.messagesMissing output messages attribute
9c50382cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c50382cgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "82978f1f1dcf2ba0",
    "span_id": "a36708e5209e1fe8",
    "start_timestamp": 1787552791.0062864,
    "status": "ok",
    "timestamp": 1787552792.6066625,
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "828dcdb68f5c658d",
    "span_id": "a1458da811a29d71",
    "start_timestamp": 1787552792.6123028,
    "status": "ok",
    "timestamp": 1787552795.2615855,
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "9e788b9e25a6db0c",
    "span_id": "94caa4cf8185fcad",
    "start_timestamp": 1787552795.2640023,
    "status": "ok",
    "timestamp": 1787552797.2098005,
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "9c50382c72f5a6e8",
    "span_id": "a6f3092cf68a7a23",
    "start_timestamp": 1787552797.211747,
    "status": "ok",
    "timestamp": 1787552799.2935326,
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "origin": "auto.http.client"
  },
  {
    "span_id": "83a5be0e103e03b9",
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552790.9922218,
    "timestamp": 1787552799.2952394,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "82978f1f1dcf2ba0",
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "parent_span_id": "83a5be0e103e03b9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552790.9938622,
    "timestamp": 1787552792.610139,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0f9d4fd7de2b8530006a8be41724a487d0b728e39f414099a4",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 187,
      "gen_ai.usage.total_tokens": 210,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "828dcdb68f5c658d",
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "parent_span_id": "83a5be0e103e03b9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552792.6108177,
    "timestamp": 1787552795.2624576,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0d4868d4b5ce929f006a8be418c7bc87d0943c00a103e58050",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 480,
      "gen_ai.usage.total_tokens": 504,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "4\n\nTwo plus two equals four. If you want, I can show it with objects or on a number line, or explain in binary (10 + 10 = 100 is 4 in decimal)."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e788b9e25a6db0c",
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "parent_span_id": "83a5be0e103e03b9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552795.2630086,
    "timestamp": 1787552797.2105083,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_0d136d3a569b1842006a8be41badec87d0966643415b512a53",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 200,
      "gen_ai.usage.total_tokens": 244,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c50382c72f5a6e8",
    "trace_id": "5f132be764194b0b9d1abb18f1c82117",
    "parent_span_id": "83a5be0e103e03b9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552797.2109752,
    "timestamp": 1787552799.2945242,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_05c9b35d4733f4fe006a8be41d4df487d0b567b1b25de84ca3",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 289,
      "gen_ai.usage.total_tokens": 339,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "3 + 3 = 6.\n\nReason: adding two groups of three gives six. If you like, you can visualize it on a number line: start at 3 and move 3 steps to reach 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Basic LLM Test (streaming)❗︎ 1⚠︎ 12561ms
checkAISpanCount(1)
checkChatSpanAttributes
982e0c21gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
982e0c21gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
982e0c21gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "982e0c21dc90ad84",
    "span_id": "b10be0c900ac24e8",
    "start_timestamp": 1787552791.7881496,
    "status": "ok",
    "timestamp": 1787552792.5550952,
    "trace_id": "99d91297ddf245f6b56b193cef25c3b3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9fa5403a4def0e18",
    "trace_id": "99d91297ddf245f6b56b193cef25c3b3",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552791.7644875,
    "timestamp": 1787552792.5578406,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "982e0c21dc90ad84",
    "trace_id": "99d91297ddf245f6b56b193cef25c3b3",
    "parent_span_id": "9fa5403a4def0e18",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552791.7660818,
    "timestamp": 1787552792.553765,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552791-e9suqoyO4v4dIR1dgiGb",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Basic LLM Test (blocking)❗︎ 1⚠︎ 12056ms
checkAISpanCount(1)
checkChatSpanAttributes
812511c4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
812511c4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
812511c4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "812511c49bc980ff",
    "span_id": "ab0539b8eeaf235e",
    "start_timestamp": 1787552791.8869512,
    "status": "ok",
    "timestamp": 1787552792.8689866,
    "trace_id": "c9d3e06879b34b139db512e9d8948d78",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8f2055a39ef1b4c8",
    "trace_id": "c9d3e06879b34b139db512e9d8948d78",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552791.8724728,
    "timestamp": 1787552792.8725924,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "812511c49bc980ff",
    "trace_id": "c9d3e06879b34b139db512e9d8948d78",
    "parent_span_id": "8f2055a39ef1b4c8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552791.8734436,
    "timestamp": 1787552792.8718781,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.id": "gen-1787552792-xgF482ePyabdx5k1PCvw",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Multi-Turn LLM Test (streaming)❗︎ 1⚠︎ 14372ms
checkAISpanCount(3)
checkChatSpanAttributes
bf699ba9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bf699ba9gen_ai.output.messagesMissing output messages attribute
b20fbdeagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b20fbdeagen_ai.output.messagesMissing output messages attribute
9c484835gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c484835gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
bf699ba9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b20fbdeagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9c484835gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "bf699ba96cf2cf29",
    "span_id": "8c2425ce5ec9cbdb",
    "start_timestamp": 1787552791.9850256,
    "status": "ok",
    "timestamp": 1787552792.587597,
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b20fbdea1ad6ebe7",
    "span_id": "92245cb574124e5b",
    "start_timestamp": 1787552792.5911045,
    "status": "ok",
    "timestamp": 1787552793.6067772,
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9c484835f55c6229",
    "span_id": "91279a6b8a887a35",
    "start_timestamp": 1787552793.6090431,
    "status": "ok",
    "timestamp": 1787552795.2540572,
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "origin": "auto.http.client"
  },
  {
    "span_id": "96f10dd2f03be114",
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552791.97184,
    "timestamp": 1787552795.2546709,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bf699ba96cf2cf29",
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "parent_span_id": "96f10dd2f03be114",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552791.9731324,
    "timestamp": 1787552792.5859146,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552792-mVw9zS8IppbjGFVXsaoz",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b20fbdea1ad6ebe7",
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "parent_span_id": "96f10dd2f03be114",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552792.5898395,
    "timestamp": 1787552793.6040454,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552792-tmDDXVYICx0W8XfyrBOm",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 63,
      "gen_ai.usage.total_tokens": 104,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The population of Paris is approximately 2.2 million people within the city proper. However, if you include the greater Paris metropolitan area (Île-de-France), the population is much larger, around 12 million people, making it one of the largest metropolitan areas in Europe."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c484835f55c6229",
    "trace_id": "2d886ba7db724d9bacd7045b6206587f",
    "parent_span_id": "96f10dd2f03be114",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552793.6077797,
    "timestamp": 1787552795.25359,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552793-ZSVWcUkz4mcbr20laR7B",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Multi-Turn LLM Test (blocking)❗︎ 1⚠︎ 13641ms
checkAISpanCount(3)
checkChatSpanAttributes
8224fa22gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8224fa22gen_ai.output.messagesMissing output messages attribute
a406aedegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a406aedegen_ai.output.messagesMissing output messages attribute
991eca54gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
991eca54gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8224fa22gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a406aedegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
991eca54gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8224fa220163c916",
    "span_id": "9a61c3365e4db5c6",
    "start_timestamp": 1787552792.891851,
    "status": "ok",
    "timestamp": 1787552793.618795,
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a406aedeec29dbb1",
    "span_id": "a15166666dda956e",
    "start_timestamp": 1787552793.6240485,
    "status": "ok",
    "timestamp": 1787552794.7591834,
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "991eca544f7cf9d3",
    "span_id": "9315920de5492bf8",
    "start_timestamp": 1787552794.7615113,
    "status": "ok",
    "timestamp": 1787552795.5701013,
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "96c5d9c38784ea5f",
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552792.8735428,
    "timestamp": 1787552795.5708458,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8224fa220163c916",
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "parent_span_id": "96c5d9c38784ea5f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552792.8750672,
    "timestamp": 1787552793.6219475,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.id": "gen-1787552792-sN3pfaIkABtfXwXCP0vX",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a406aedeec29dbb1",
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "parent_span_id": "96c5d9c38784ea5f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552793.6228194,
    "timestamp": 1787552794.760045,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "The population of Paris depends on which area you're referring to:\n\n- **City of Paris proper**: approximately 2.1 million people\n- **Paris metropolitan area (Île-de-France region)**: approximately 12 million people\n\nThe city proper refers to just Paris within its administrative boundaries, while the metropolitan area includes the surrounding suburbs and towns.",
      "gen_ai.response.id": "gen-1787552793-egZyc8kANxtbbIvBAyPK",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 78,
      "gen_ai.usage.total_tokens": 119
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "991eca544f7cf9d3",
    "trace_id": "19de1f48317d4821bfdfad4cde20bff3",
    "parent_span_id": "96c5d9c38784ea5f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552794.760473,
    "timestamp": 1787552795.570676,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.response.id": "gen-1787552794-7CADQTT3vXOIiUaMsmi6",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Vision LLM Test (streaming)❗︎ 1 1⚠︎ 12093ms
checkChatSpanAttributes
a33d8785gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a33d8785gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a33d8785gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a33d8785gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
a33d8785gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a33d8785d5cfc631",
    "span_id": "9c9f84d479bb67b7",
    "start_timestamp": 1787552794.596262,
    "status": "ok",
    "timestamp": 1787552795.7099395,
    "trace_id": "9d563781b5234de399583d5b4c88f503",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a5acea92d5ce57bd",
    "trace_id": "9d563781b5234de399583d5b4c88f503",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552794.5828087,
    "timestamp": 1787552795.7119555,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a33d8785d5cfc631",
    "trace_id": "9d563781b5234de399583d5b4c88f503",
    "parent_span_id": "a5acea92d5ce57bd",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552794.5840247,
    "timestamp": 1787552795.700088,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552794-XHBCJNqnplQT9srtLk7h",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "Pink"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Vision LLM Test (blocking)❗︎ 1 1⚠︎ 11927ms
checkChatSpanAttributes
8dbae792gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8dbae792gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8dbae792gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
8dbae792gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
8dbae792gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8dbae79253d0b75f",
    "span_id": "81b033d28f6619a7",
    "start_timestamp": 1787552794.9224696,
    "status": "ok",
    "timestamp": 1787552795.8611987,
    "trace_id": "fd060c4f7263484bb229cbc6cc20b2a3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "99f3ac7445020672",
    "trace_id": "fd060c4f7263484bb229cbc6cc20b2a3",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552794.909755,
    "timestamp": 1787552795.8651793,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8dbae79253d0b75f",
    "trace_id": "fd060c4f7263484bb229cbc6cc20b2a3",
    "parent_span_id": "99f3ac7445020672",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552794.910705,
    "timestamp": 1787552795.864322,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image\",\"source\":{\"type\":\"base64\",\"media_type\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "Pink",
      "gen_ai.response.id": "gen-1787552794-rs1K7qzhQbEabgW4uapT",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Long Input LLM Test (streaming)❗︎ 1⚠︎ 13305ms
checkChatSpanAttributes
bc9db875gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bc9db875gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
bc9db875gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "bc9db875fa9432e9",
    "span_id": "b1491acbfc9142f5",
    "start_timestamp": 1787552796.2498133,
    "status": "ok",
    "timestamp": 1787552798.5507483,
    "trace_id": "2c4585b358a2408096417231c146a16a",
    "origin": "auto.http.client"
  },
  {
    "span_id": "afb762a43f10cbab",
    "trace_id": "2c4585b358a2408096417231c146a16a",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552796.2312376,
    "timestamp": 1787552798.5536602,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "bc9db875fa9432e9",
    "trace_id": "2c4585b358a2408096417231c146a16a",
    "parent_span_id": "afb762a43f10cbab",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552796.2327604,
    "timestamp": 1787552798.5492263,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "gen-1787552797-BVJC1nQkPTe9KdTu8S5V",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 5445,
      "gen_ai.response.finish_reasons": "[\"end_turn\"]",
      "gen_ai.response.text": "This is a test message that is repeated many times to create a lengthy input."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Long Input LLM Test (blocking)❗︎ 1⚠︎ 12184ms
checkChatSpanAttributes
a780146egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a780146egen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
a780146egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a780146efa028c02",
    "span_id": "ab7c959319d0245d",
    "start_timestamp": 1787552796.6651156,
    "status": "ok",
    "timestamp": 1787552797.7469928,
    "trace_id": "234a30a61bb74b3e82d213ee73cafd09",
    "origin": "auto.http.client"
  },
  {
    "span_id": "adb228a5cb67f93d",
    "trace_id": "234a30a61bb74b3e82d213ee73cafd09",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552796.6455667,
    "timestamp": 1787552797.751088,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a780146efa028c02",
    "trace_id": "234a30a61bb74b3e82d213ee73cafd09",
    "parent_span_id": "adb228a5cb67f93d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552796.6471908,
    "timestamp": 1787552797.7503061,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "This is a test message that is repeated many times to create a long input.",
      "gen_ai.response.id": "gen-1787552796-vID9npWHQ3A3kBHsy8Y0",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 5445
    },
    "status": "ok",
    "is_segment": false
  }
]
node/anthropic :: Conversation ID LLM Test (streaming)❗︎ 3 13797ms
checkAISpanCount(4)
Should have exactly 4 AI span(s) but found 0
checkChatSpanAttributes
Should have at least one chat/completion span
checkConversationIds([conv-a, conv-b])
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (5)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a06aa8a45d3baefa",
    "span_id": "ad640527af5051f7",
    "start_timestamp": 1787552796.8037376,
    "status": "ok",
    "timestamp": 1787552797.4190705,
    "trace_id": "e98eb3bf55ad4886a834aea5284d3f29",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a06aa8a45d3baefa",
    "span_id": "ba188e02c5bd3992",
    "start_timestamp": 1787552797.4222734,
    "status": "ok",
    "timestamp": 1787552798.3389974,
    "trace_id": "e98eb3bf55ad4886a834aea5284d3f29",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a06aa8a45d3baefa",
    "span_id": "a23f9a282683dc5e",
    "start_timestamp": 1787552798.3411424,
    "status": "ok",
    "timestamp": 1787552798.954988,
    "trace_id": "e98eb3bf55ad4886a834aea5284d3f29",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a06aa8a45d3baefa",
    "span_id": "9727f39f0fc3b21b",
    "start_timestamp": 1787552798.9565341,
    "status": "ok",
    "timestamp": 1787552799.495861,
    "trace_id": "e98eb3bf55ad4886a834aea5284d3f29",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a06aa8a45d3baefa",
    "trace_id": "e98eb3bf55ad4886a834aea5284d3f29",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552796.7903678,
    "timestamp": 1787552799.4966073,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  }
]
node/anthropic :: Conversation ID LLM Test (blocking)❗︎ 1⚠︎ 14539ms
checkAISpanCount(4)
checkChatSpanAttributes
8f47db1agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8f47db1agen_ai.output.messagesMissing output messages attribute
a83a2e8egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a83a2e8egen_ai.output.messagesMissing output messages attribute
95e6e5f5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95e6e5f5gen_ai.output.messagesMissing output messages attribute
96fcb9fbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
96fcb9fbgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8f47db1agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a83a2e8egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
95e6e5f5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
96fcb9fbgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8f47db1ade0122b6",
    "span_id": "8b3c366ebbbe17e7",
    "start_timestamp": 1787552796.9677627,
    "status": "ok",
    "timestamp": 1787552797.8258646,
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a83a2e8e8fa7187e",
    "span_id": "8f199cf40764e78a",
    "start_timestamp": 1787552797.8297472,
    "status": "ok",
    "timestamp": 1787552798.8107257,
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "95e6e5f591db4ba8",
    "span_id": "ae94a65c06ca2372",
    "start_timestamp": 1787552798.812524,
    "status": "ok",
    "timestamp": 1787552799.3808162,
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "96fcb9fba3f8ee8b",
    "span_id": "98796b9b58dc21cc",
    "start_timestamp": 1787552799.3853579,
    "status": "ok",
    "timestamp": 1787552800.346753,
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "origin": "auto.http.client"
  },
  {
    "span_id": "918d0a47d4868103",
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552796.9557147,
    "timestamp": 1787552800.3536806,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8f47db1ade0122b6",
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "parent_span_id": "918d0a47d4868103",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552796.956688,
    "timestamp": 1787552797.8279133,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.response.id": "gen-1787552797-dShkhRwM47bDaeYeqqkr",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a83a2e8e8fa7187e",
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "parent_span_id": "918d0a47d4868103",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552797.8285909,
    "timestamp": 1787552798.8114114,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the fundamental addition facts in mathematics. When you combine 2 groups of 1 thing with another 2 groups of 1 thing, you get 4 things total.",
      "gen_ai.response.id": "gen-1787552797-7A0xtmESgZuIUPgLyrMQ",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 58,
      "gen_ai.usage.total_tokens": 81
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "95e6e5f591db4ba8",
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "parent_span_id": "918d0a47d4868103",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552798.811784,
    "timestamp": 1787552799.3839936,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.response.id": "gen-1787552798-nEw1fSGMhBCB4JEqwr4C",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "96fcb9fba3f8ee8b",
    "trace_id": "b220a8d5fac74c79b85407a774856815",
    "parent_span_id": "918d0a47d4868103",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552799.384377,
    "timestamp": 1787552800.3502111,
    "data": {
      "sentry.origin": "auto.ai.anthropic",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.response.id": "gen-1787552799-diCra2HvNKFQeTsododN",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Basic LLM Test (streaming)❗︎ 11811ms
checkAISpanCount(1)
checkChatSpanAttributes
ac003213gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ac003213gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.116.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "ac00321377c854e9",
    "span_id": "b08f4c635cb44667",
    "start_timestamp": 1787552798.0929236,
    "status": "ok",
    "timestamp": 1787552798.3412848,
    "trace_id": "ab876064129a4b8fbc3d9cd00e9d7e41",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "9bc1c3a598b35e6b",
    "trace_id": "ab876064129a4b8fbc3d9cd00e9d7e41",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552798.084135,
    "timestamp": 1787552798.3472383,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ac00321377c854e9",
    "trace_id": "ab876064129a4b8fbc3d9cd00e9d7e41",
    "parent_span_id": "9bc1c3a598b35e6b",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552798.0851917,
    "timestamp": 1787552798.3466425,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "HuSLavayCdiI6dkP8tuouAY",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Basic LLM Test (blocking)❗︎ 11278ms
checkAISpanCount(1)
checkChatSpanAttributes
b3d8f6b0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3d8f6b0gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.115.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "b3d8f6b00e12f831",
    "span_id": "9eea0de0cfe4f602",
    "start_timestamp": 1787552798.7284884,
    "status": "ok",
    "timestamp": 1787552799.0050511,
    "trace_id": "0f52dea691294ce7ac1b106af1fc853a",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b524eea0d9a47f85",
    "trace_id": "0f52dea691294ce7ac1b106af1fc853a",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552798.7196722,
    "timestamp": 1787552799.0100455,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b3d8f6b00e12f831",
    "trace_id": "0f52dea691294ce7ac1b106af1fc853a",
    "parent_span_id": "b524eea0d9a47f85",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552798.7208245,
    "timestamp": 1787552799.009138,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Multi-Turn LLM Test (streaming)❗︎ 1 12246ms
checkAISpanCount(3)
checkChatSpanAttributes
ab9ae47egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab9ae47egen_ai.output.messagesMissing output messages attribute
b30925f6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b30925f6gen_ai.output.messagesMissing output messages attribute
9e5d0e45gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e5d0e45gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
b30925f6gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
9e5d0e45gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
9e5d0e45gen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "ab9ae47e85fe35b9",
    "span_id": "92e9c8f3fbd4186c",
    "start_timestamp": 1787552799.423643,
    "status": "ok",
    "timestamp": 1787552799.7275004,
    "trace_id": "f7004c49e4304021844318f42480a178",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.115.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "b30925f69a44fe83",
    "span_id": "adaab7337b0dedd3",
    "start_timestamp": 1787552799.7454586,
    "status": "ok",
    "timestamp": 1787552800.1605802,
    "trace_id": "f7004c49e4304021844318f42480a178",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "9e5d0e45696d4004",
    "span_id": "a9dab9307e486d77",
    "start_timestamp": 1787552800.1623397,
    "status": "ok",
    "timestamp": 1787552800.571605,
    "trace_id": "f7004c49e4304021844318f42480a178",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "96f203311235b257",
    "trace_id": "f7004c49e4304021844318f42480a178",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552799.4139504,
    "timestamp": 1787552800.5721967,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ab9ae47e85fe35b9",
    "trace_id": "f7004c49e4304021844318f42480a178",
    "parent_span_id": "96f203311235b257",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552799.4154634,
    "timestamp": 1787552799.7399633,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "H-SLauDDHt2J6dkP85GgwQU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b30925f69a44fe83",
    "trace_id": "f7004c49e4304021844318f42480a178",
    "parent_span_id": "96f203311235b257",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552799.7440784,
    "timestamp": 1787552800.1608775,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "H-SLapCzMYvpqtsPqr2WqAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 62,
      "gen_ai.usage.total_tokens": 94,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The population of Paris is approximately **2.1 million people** within the city limits (also known as *intra-muros*).\n\nHowever, the **Paris metropolitan area** (which includes the suburbs and surrounding regions) has a much larger population, estimated to be around **11 million people**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e5d0e45696d4004",
    "trace_id": "f7004c49e4304021844318f42480a178",
    "parent_span_id": "96f203311235b257",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552800.1612232,
    "timestamp": 1787552800.5719504,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IOSLaoLpDPiomtkP6q6mwAE",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 60,
      "gen_ai.usage.total_tokens": 117,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The population of the **metropolitan area** of Paris is significantly larger than the city proper. It's estimated to be around **11 million people**.\n\nThis includes the city of Paris itself, along with its surrounding suburbs and commuter towns that are economically and socially integrated with the central city."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Multi-Turn LLM Test (blocking)❗︎ 1 12326ms
checkAISpanCount(3)
checkChatSpanAttributes
92e443fdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92e443fdgen_ai.output.messagesMissing output messages attribute
92ddcdbagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92ddcdbagen_ai.output.messagesMissing output messages attribute
93b5ac21gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93b5ac21gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
92ddcdbagen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
93b5ac21gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
93b5ac21gen_ai.input.messagesmessages[3].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "92e443fd6baf5e15",
    "span_id": "9eaa497807b9eb44",
    "start_timestamp": 1787552799.7184904,
    "status": "ok",
    "timestamp": 1787552800.0015793,
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "92ddcdbacb25bdff",
    "span_id": "86f924cedbf7bd24",
    "start_timestamp": 1787552800.0175955,
    "status": "ok",
    "timestamp": 1787552800.4513514,
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.113.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "93b5ac21517fae09",
    "span_id": "8b6e61875640540e",
    "start_timestamp": 1787552800.4546046,
    "status": "ok",
    "timestamp": 1787552800.8685143,
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "94f45bb0c9ccf92e",
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552799.7046645,
    "timestamp": 1787552800.8704445,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "92e443fd6baf5e15",
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "parent_span_id": "94f45bb0c9ccf92e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552799.706309,
    "timestamp": 1787552800.0105903,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "92ddcdbacb25bdff",
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "parent_span_id": "94f45bb0c9ccf92e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552800.0141537,
    "timestamp": 1787552800.4527636,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 32,
      "gen_ai.usage.output_tokens": 66,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.text": "The population of Paris is approximately **2.1 million** people within the city limits (2020 estimate).\n\nHowever, if you consider the **Paris metropolitan area**, the population is much larger, around **11 million** people. This includes the surrounding suburbs and commuter towns that are closely linked to the city."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "93b5ac21517fae09",
    "trace_id": "043b5e2bdcc5466db3774aa977a4f165",
    "parent_span_id": "94f45bb0c9ccf92e",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552800.4532971,
    "timestamp": 1787552800.8702157,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What is the population of that city?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"Paris has a population of approximately 2.2 million people in the city proper.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about the metropolitan area?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 57,
      "gen_ai.usage.output_tokens": 55,
      "gen_ai.usage.total_tokens": 112,
      "gen_ai.response.text": "The population of the Paris metropolitan area (also known as the **Île-de-France** region) is much larger, estimated to be around **12.3 million people** as of recent estimates. This includes the city of Paris itself and its surrounding suburbs."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Basic Error LLM Test (blocking)❗︎ 21471ms
checkAISpanCount(>=1)
Should have at least 1 AI span(s) but found 0
checkErrorCaptured
Should have at least one AI span but found none
{}Captured Spans (2)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/invalid-model:generateContent",
      "url.path": "/v1beta/models/invalid-model:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/invalid-model:generateContent",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 404
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/invalid-model:generateContent",
    "op": "http.client",
    "parent_span_id": "95da06b3651c1313",
    "span_id": "8bb71e29d32df0e9",
    "start_timestamp": 1787552800.2112164,
    "status": "not_found",
    "timestamp": 1787552800.3109052,
    "trace_id": "335ff5e12315408d9a2edafcdad0bf6b",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "95da06b3651c1313",
    "trace_id": "335ff5e12315408d9a2edafcdad0bf6b",
    "op": "test",
    "description": "basic-error-llm-test",
    "start_timestamp": 1787552800.1968174,
    "timestamp": 1787552800.3261375,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  }
]
node/google-genai :: Vision LLM Test (streaming)❗︎ 1 11839ms
checkChatSpanAttributes
86a4262dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
86a4262dgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
86a4262dgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
86a4262dgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.118.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "86a4262d8df89412",
    "span_id": "80d9b0bc95d34a2c",
    "start_timestamp": 1787552800.437903,
    "status": "ok",
    "timestamp": 1787552800.837882,
    "trace_id": "77efe2f447004b49a8a3d696eebd6ccf",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8efa0add893a1391",
    "trace_id": "77efe2f447004b49a8a3d696eebd6ccf",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552800.4120333,
    "timestamp": 1787552800.842643,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "86a4262d8df89412",
    "trace_id": "77efe2f447004b49a8a3d696eebd6ccf",
    "parent_span_id": "8efa0add893a1391",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552800.4140983,
    "timestamp": 1787552800.8420851,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IOSLaruuH-2V6dkP-PnfmQc",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Vision LLM Test (blocking)❗︎ 1 11810ms
checkChatSpanAttributes
9d248b8bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9d248b8bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9d248b8bgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9d248b8bgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.119.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "9d248b8b31d58e6d",
    "span_id": "a8ab5e4c6f60b554",
    "start_timestamp": 1787552800.5904634,
    "status": "ok",
    "timestamp": 1787552801.053925,
    "trace_id": "27d98de58ec44fe9ae71374d8a3b7c34",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8993ece737d8ec36",
    "trace_id": "27d98de58ec44fe9ae71374d8a3b7c34",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552800.5773356,
    "timestamp": 1787552801.0677388,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9d248b8b31d58e6d",
    "trace_id": "27d98de58ec44fe9ae71374d8a3b7c34",
    "parent_span_id": "8993ece737d8ec36",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552800.578983,
    "timestamp": 1787552801.066582,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What color is this image? Reply with just the color name.\"},{\"inlineData\":{\"mimeType\":\"image/png\",\"data\":\"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "Coral"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Long Input LLM Test (streaming)❗︎ 11610ms
checkChatSpanAttributes
b1edd48bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1edd48bgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "b1edd48b94940b7e",
    "span_id": "b69a8105362022f9",
    "start_timestamp": 1787552800.7202134,
    "status": "ok",
    "timestamp": 1787552801.014807,
    "trace_id": "d34b9bdd00fc42a7a62be93f1507f1f4",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "b7e45b47edd091a5",
    "trace_id": "d34b9bdd00fc42a7a62be93f1507f1f4",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552800.709159,
    "timestamp": 1787552801.0395086,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b1edd48b94940b7e",
    "trace_id": "d34b9bdd00fc42a7a62be93f1507f1f4",
    "parent_span_id": "b7e45b47edd091a5",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552800.7104023,
    "timestamp": 1787552801.0335512,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IOSLauOPMNSxqtsPl4DEMA",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "This is a test message that will be repeated many times to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Long Input LLM Test (blocking)❗︎ 11739ms
checkChatSpanAttributes
a8e3be48gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8e3be48gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.115.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "a8e3be48bd0c07db",
    "span_id": "885e21d65c5d5940",
    "start_timestamp": 1787552801.2264793,
    "status": "ok",
    "timestamp": 1787552801.6599958,
    "trace_id": "585d62d3dfef486288c5a60d09ae3c1b",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "95b68c200d897784",
    "trace_id": "585d62d3dfef486288c5a60d09ae3c1b",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552801.2026706,
    "timestamp": 1787552801.6717129,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a8e3be48bd0c07db",
    "trace_id": "585d62d3dfef486288c5a60d09ae3c1b",
    "parent_span_id": "95b68c200d897784",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552801.204491,
    "timestamp": 1787552801.6674612,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.text": "This is a test message that is being repeated many times to create a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Conversation ID LLM Test (streaming)❗︎ 1 12604ms
checkAISpanCount(4)
checkChatSpanAttributes
b62019d4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b62019d4gen_ai.output.messagesMissing output messages attribute
832a3e96gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
832a3e96gen_ai.output.messagesMissing output messages attribute
bb007ac9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb007ac9gen_ai.output.messagesMissing output messages attribute
8e985248gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8e985248gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
bb007ac9gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
8e985248gen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "b62019d4129a552f",
    "span_id": "b671960a12e64513",
    "start_timestamp": 1787552801.7521229,
    "status": "ok",
    "timestamp": 1787552802.0553002,
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "832a3e9648a6b253",
    "span_id": "8a7c34a014165eb1",
    "start_timestamp": 1787552802.0635614,
    "status": "ok",
    "timestamp": 1787552802.3086982,
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.114.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "bb007ac9b39fe94d",
    "span_id": "bfa26b7f81758fca",
    "start_timestamp": 1787552802.3155854,
    "status": "ok",
    "timestamp": 1787552802.6474645,
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent?alt=sse",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "url.query": "?alt=sse",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "op": "http.client",
    "parent_span_id": "8e985248ba320748",
    "span_id": "abf0afcd7335da33",
    "start_timestamp": 1787552802.6552405,
    "status": "ok",
    "timestamp": 1787552802.9110692,
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "8eeda2a22849d381",
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552801.7288435,
    "timestamp": 1787552802.9118018,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b62019d4129a552f",
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "parent_span_id": "8eeda2a22849d381",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552801.7307656,
    "timestamp": 1787552802.061239,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IeSLapa8M-alqtsP6Mq5-AU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "832a3e9648a6b253",
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "parent_span_id": "8eeda2a22849d381",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552802.0622497,
    "timestamp": 1787552802.3090281,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IuSLatuZB4DBqtsP6v-G4Q0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "2 + 2 equals 4."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb007ac9b39fe94d",
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "parent_span_id": "8eeda2a22849d381",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552802.3141234,
    "timestamp": 1787552802.647768,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IuSLaoXEFpC3qtsPyLvsoQI",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8e985248ba320748",
    "trace_id": "16656c4b0818479bb2a39e4bd75fbb12",
    "parent_span_id": "8eeda2a22849d381",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552802.6510065,
    "timestamp": 1787552802.911486,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "IuSLavqnLMi0qtsPree7qQ0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 41,
      "gen_ai.response.finish_reasons": "[\"STOP\"]",
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/google-genai :: Conversation ID LLM Test (blocking)❗︎ 1 12502ms
checkAISpanCount(4)
checkChatSpanAttributes
8dba8a07gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8dba8a07gen_ai.output.messagesMissing output messages attribute
9c30be9fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c30be9fgen_ai.output.messagesMissing output messages attribute
99cef15dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99cef15dgen_ai.output.messagesMissing output messages attribute
9e7c076agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e7c076agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
99cef15dgen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
9e7c076agen_ai.input.messagesmessages[1].role should be one of: user, assistant, tool, system (got: model)
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "8dba8a0715d509b6",
    "span_id": "a4f68d3ffeb8b479",
    "start_timestamp": 1787552801.7041802,
    "status": "ok",
    "timestamp": 1787552802.034931,
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "9c30be9fda8a18f6",
    "span_id": "bfcbc36db98f68f7",
    "start_timestamp": 1787552802.0438528,
    "status": "ok",
    "timestamp": 1787552802.2756388,
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "99cef15d046f2493",
    "span_id": "90b2f09c620d4bd3",
    "start_timestamp": 1787552802.2890432,
    "status": "ok",
    "timestamp": 1787552802.5253985,
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "data": {
      "sentry.origin": "auto.http.otel.node_fetch",
      "http.request.method": "POST",
      "http.request.method_original": "POST",
      "url.full": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.path": "/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "url.query": "",
      "url.scheme": "https",
      "server.address": "generativelanguage.googleapis.com",
      "server.port": 443,
      "user_agent.original": "google-genai-sdk/1.38.0 gl-node/v24.19.0",
      "otel.kind": "CLIENT",
      "sentry.op": "http.client",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "network.peer.address": "172.217.112.4",
      "network.peer.port": 443,
      "http.response.status_code": 200
    },
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "op": "http.client",
    "parent_span_id": "9e7c076a7aadf1df",
    "span_id": "acbdc8e5b76f6732",
    "start_timestamp": 1787552802.5276759,
    "status": "ok",
    "timestamp": 1787552802.8085506,
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "origin": "auto.http.otel.node_fetch"
  },
  {
    "span_id": "88daf6b18a4ae97d",
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552801.684244,
    "timestamp": 1787552802.824585,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8dba8a0715d509b6",
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "parent_span_id": "88daf6b18a4ae97d",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552801.6861382,
    "timestamp": 1787552802.0411115,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "The capital of France is **Paris**."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c30be9fda8a18f6",
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "parent_span_id": "88daf6b18a4ae97d",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552802.042087,
    "timestamp": 1787552802.2810779,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "2 + 2 = 4"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99cef15d046f2493",
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "parent_span_id": "88daf6b18a4ae97d",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552802.281597,
    "timestamp": 1787552802.526268,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is the capital of France?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"The capital of France is Paris.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about Germany?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 28,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e7c076a7aadf1df",
    "trace_id": "9c04de622934419580945e4b0a565cd3",
    "parent_span_id": "88daf6b18a4ae97d",
    "op": "gen_ai.generate_content",
    "description": "generate_content gemini-2.5-flash-lite",
    "start_timestamp": 1787552802.526584,
    "timestamp": 1787552802.8243542,
    "data": {
      "sentry.origin": "auto.ai.google_genai",
      "sentry.op": "gen_ai.generate_content",
      "gen_ai.system": "google_genai",
      "gen_ai.operation.name": "generate_content",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"parts\":[{\"text\":\"What is 2 + 2?\"}]},{\"role\":\"model\",\"parts\":[{\"text\":\"2 + 2 equals 4.\"}]},{\"role\":\"user\",\"parts\":[{\"text\":\"What about 3 + 3?\"}]}]",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 34,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.response.text": "3 + 3 equals 6."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Basic LLM Test (streaming, openai)❗︎ 1⚠︎ 16032ms
checkAISpanCount(1)
checkChatSpanAttributes
94af80bdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94af80bdgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
94af80bdgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "ade82c8c24861fc5",
    "span_id": "9ba2fe7874f815ec",
    "start_timestamp": 1787552805.30057,
    "status": "ok",
    "timestamp": 1787552806.3594382,
    "trace_id": "d962810f4b524e7990f81e0be9c25ca9",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ade82c8c24861fc5",
    "trace_id": "d962810f4b524e7990f81e0be9c25ca9",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552805.2187867,
    "timestamp": 1787552806.3779228,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "94af80bd2807c76e",
    "trace_id": "d962810f4b524e7990f81e0be9c25ca9",
    "parent_span_id": "ade82c8c24861fc5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552805.2334712,
    "timestamp": 1787552806.368518,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 74,
      "gen_ai.usage.total_tokens": 97,
      "gen_ai.response.id": "chatcmpl-EGIQnD4WpGmFOWY800ngTIzU6LMCG",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Basic LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 14856ms
checkAISpanCount(1)
checkChatSpanAttributes
8b5c286bgen_ai.usage.input_tokensSpan 8b5c286b: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8b5c286bgen_ai.usage.output_tokensSpan 8b5c286b: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
8b5c286bgen_ai.usage.input_tokensinput_tokens must exist
8b5c286bgen_ai.usage.output_tokensoutput_tokens must exist
8b5c286bgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
8b5c286bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "82c9d867231f8a90",
    "span_id": "9b90c506d6ba0dd2",
    "start_timestamp": 1787552805.2913115,
    "status": "invalid_argument",
    "timestamp": 1787552805.417116,
    "trace_id": "bbe5a064923d4b31802096aff956b9c0",
    "origin": "auto.http.client"
  },
  {
    "span_id": "82c9d867231f8a90",
    "trace_id": "bbe5a064923d4b31802096aff956b9c0",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552805.2127993,
    "timestamp": 1787552805.436535,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8b5c286bf564a5b9",
    "trace_id": "bbe5a064923d4b31802096aff956b9c0",
    "parent_span_id": "82c9d867231f8a90",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.2289903,
    "timestamp": 1787552805.4234738,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Basic LLM Test (blocking, openai)❗︎ 1⚠︎ 15729ms
checkAISpanCount(1)
checkChatSpanAttributes
88cf7785gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88cf7785gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
88cf7785gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "84ab5b503dbc89d3",
    "span_id": "98f474387682c698",
    "start_timestamp": 1787552805.3475206,
    "status": "ok",
    "timestamp": 1787552806.4959493,
    "trace_id": "b1d7371eddc4439a8ab8857070d02bb4",
    "origin": "auto.http.client"
  },
  {
    "span_id": "84ab5b503dbc89d3",
    "trace_id": "b1d7371eddc4439a8ab8857070d02bb4",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552805.300557,
    "timestamp": 1787552806.5248873,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "88cf7785a88b429a",
    "trace_id": "b1d7371eddc4439a8ab8857070d02bb4",
    "parent_span_id": "84ab5b503dbc89d3",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552805.3204737,
    "timestamp": 1787552806.5229144,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIQnglXSJGR5nW7xN36ihlVZrW9o",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Basic LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 15250ms
checkAISpanCount(1)
checkChatSpanAttributes
8a0e1c68gen_ai.usage.input_tokensSpan 8a0e1c68: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8a0e1c68gen_ai.usage.output_tokensSpan 8a0e1c68: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
8a0e1c68gen_ai.usage.input_tokensinput_tokens must exist
8a0e1c68gen_ai.usage.output_tokensoutput_tokens must exist
8a0e1c68gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
8a0e1c68gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9a2c74c053171497",
    "span_id": "a97fc300ca6d8213",
    "start_timestamp": 1787552805.2860262,
    "status": "invalid_argument",
    "timestamp": 1787552806.0455596,
    "trace_id": "0e80737c5d8341fba347de3b13c152c8",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9a2c74c053171497",
    "trace_id": "0e80737c5d8341fba347de3b13c152c8",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552805.2169144,
    "timestamp": 1787552806.0647461,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8a0e1c68cbf76b1b",
    "trace_id": "0e80737c5d8341fba347de3b13c152c8",
    "parent_span_id": "9a2c74c053171497",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.2264132,
    "timestamp": 1787552806.051696,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Multi-Turn LLM Test (streaming, openai)❗︎ 1⚠︎ 119531ms
checkAISpanCount(3)
checkChatSpanAttributes
b682e18cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b682e18cgen_ai.output.messagesMissing output messages attribute
bb9361dcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb9361dcgen_ai.output.messagesMissing output messages attribute
8da42cefgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8da42cefgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b682e18cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
bb9361dcgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8da42cefgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9cd179a8861d0765",
    "span_id": "ae602d996bee1fd2",
    "start_timestamp": 1787552805.297686,
    "status": "ok",
    "timestamp": 1787552806.3934357,
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9cd179a8861d0765",
    "span_id": "bc95e2bad05d6f91",
    "start_timestamp": 1787552806.4285667,
    "status": "ok",
    "timestamp": 1787552813.0646472,
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9cd179a8861d0765",
    "span_id": "99b44adf12198157",
    "start_timestamp": 1787552813.0715363,
    "status": "ok",
    "timestamp": 1787552820.5584102,
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9cd179a8861d0765",
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552805.2208588,
    "timestamp": 1787552820.559229,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b682e18c039a33d5",
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "parent_span_id": "9cd179a8861d0765",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552805.2408326,
    "timestamp": 1787552806.4101388,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIQng6w27nKcNwWMqaUuqvdvYKeD",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb9361dc0928cd79",
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "parent_span_id": "9cd179a8861d0765",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552806.4206522,
    "timestamp": 1787552813.0674086,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris (the city proper) has about 2.1 million residents. \\n\\nIf you meant the wider area:\\n- Paris urban area (aire urbaine): roughly 12 million people.\\n- Île-de-France region (the greater Paris metropolitan area): around 12–13 million.\\n\\nWhich measure would you like, and for what year? I can give a more precise figure.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1239,
      "gen_ai.usage.total_tokens": 1287,
      "gen_ai.response.id": "chatcmpl-EGIQoGUaz9MEmLRsFIelxgf8AtNyO",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8da42cef4c844153",
    "trace_id": "08cbcee4fc694f2aadd453cc49be8104",
    "parent_span_id": "9cd179a8861d0765",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.0684166,
    "timestamp": 1787552820.558953,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"It depends on what you mean by \\\"metropolitan area,\\\" since definitions vary.\\n\\n- Île-de-France (the wider Paris metro area/region): about 12 million people.\\n- Paris urban area (aire urbaine): around 11 million.\\n- Grand Paris Métropole (the intercity governance area around Paris): about 7 million.\\n\\nIf you want a single figure, the most common reference for the broader metro area is roughly 12 million. Which definition would you like me to use?\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1518,
      "gen_ai.usage.total_tokens": 1599,
      "gen_ai.response.id": "chatcmpl-EGIQvjA9TgUnCnMSHHJ66WS9W0aaz",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Multi-Turn LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 14696ms
checkAISpanCount(3)
checkChatSpanAttributes
80eab421gen_ai.usage.input_tokensSpan 80eab421: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
80eab421gen_ai.usage.output_tokensSpan 80eab421: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
9fe61342gen_ai.usage.input_tokensSpan 9fe61342: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9fe61342gen_ai.usage.output_tokensSpan 9fe61342: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
aa2d33e1gen_ai.usage.input_tokensSpan aa2d33e1: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
aa2d33e1gen_ai.usage.output_tokensSpan aa2d33e1: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
80eab421gen_ai.usage.input_tokensinput_tokens must exist
80eab421gen_ai.usage.output_tokensoutput_tokens must exist
80eab421gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
80eab421gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9fe61342gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
aa2d33e1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8e01f77bab1159c6",
    "span_id": "8e7703c53e1a51f9",
    "start_timestamp": 1787552805.3112695,
    "status": "invalid_argument",
    "timestamp": 1787552805.481208,
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8e01f77bab1159c6",
    "span_id": "8ad3fad5bdab4338",
    "start_timestamp": 1787552805.4942105,
    "status": "invalid_argument",
    "timestamp": 1787552805.714596,
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "8e01f77bab1159c6",
    "span_id": "bca69d884340097b",
    "start_timestamp": 1787552805.7180805,
    "status": "invalid_argument",
    "timestamp": 1787552805.7683833,
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8e01f77bab1159c6",
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552805.2216892,
    "timestamp": 1787552805.7710714,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "80eab42126103b90",
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "parent_span_id": "8e01f77bab1159c6",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.2402852,
    "timestamp": 1787552805.4839995,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "9fe61342a2801346",
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "parent_span_id": "8e01f77bab1159c6",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.4924343,
    "timestamp": 1787552805.7150755,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "aa2d33e1092f0d4f",
    "trace_id": "64c54327484746a2836aebf4a950d6b7",
    "parent_span_id": "8e01f77bab1159c6",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.7172666,
    "timestamp": 1787552805.7689114,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Multi-Turn LLM Test (blocking, openai)❗︎ 1⚠︎ 119720ms
checkAISpanCount(3)
checkChatSpanAttributes
b3203100gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3203100gen_ai.output.messagesMissing output messages attribute
aacd272agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aacd272agen_ai.output.messagesMissing output messages attribute
9fdc0b65gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9fdc0b65gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b3203100gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
aacd272agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9fdc0b65gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(3 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9f40294e360c71c1",
    "span_id": "9f221f9e3935dfbc",
    "start_timestamp": 1787552805.2661824,
    "status": "ok",
    "timestamp": 1787552806.698012,
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9f40294e360c71c1",
    "span_id": "a5b5c9017188e366",
    "start_timestamp": 1787552806.738265,
    "status": "ok",
    "timestamp": 1787552813.5660343,
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9f40294e360c71c1",
    "span_id": "b27e01a1d167898d",
    "start_timestamp": 1787552813.5692234,
    "status": "ok",
    "timestamp": 1787552820.8309689,
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9f40294e360c71c1",
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552805.210677,
    "timestamp": 1787552820.83186,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b32031008c7a25ea",
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "parent_span_id": "9f40294e360c71c1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552805.2217932,
    "timestamp": 1787552806.729885,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.id": "chatcmpl-EGIQnBcrNVIsFQyEHhIjaz4VN6W9w",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aacd272ae5bdc4c3",
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "parent_span_id": "9f40294e360c71c1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552806.736824,
    "timestamp": 1787552813.5670435,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris is a city with a population about 2.1 million (roughly 2.1 million people in the city proper, as of the latest census).\\n\\nIf you mean the wider area:\\n- Paris urban area (continuous built-up area): around 11–12 million.\\n- Île-de-France (the wider region including suburbs): about 12 million.\\n\\nTell me which definition you want and a year, and I can give a precise figure.\"]",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1381,
      "gen_ai.usage.total_tokens": 1429,
      "gen_ai.response.id": "chatcmpl-EGIQoTrTopv3zBxKCCaPl0ORXOC5N",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9fdc0b65b46b129c",
    "trace_id": "69d32d0b1eab4904b7ac1c7a0f8cc090",
    "parent_span_id": "9f40294e360c71c1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.5680733,
    "timestamp": 1787552820.831596,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Depends on the definition, but here are the common figures:\\n\\n- Paris urban area (aire urbaine) — the broader Paris metropolitan area: about 12 million people (roughly 12.0–12.5 million, depending on the year).\\n- Île-de-France region (Greater Paris): about 12.3–12.5 million people as of recent estimates.\\n- Grand Paris Metropolis (the administrative grouping around Paris): about 7.0–7.5 million.\\n\\nIf you have a specific definition or year in mind, I can give a precise figure.\"]",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1408,
      "gen_ai.usage.total_tokens": 1489,
      "gen_ai.response.id": "chatcmpl-EGIQvCcWQmY0a2fEio8n9bFMtKUuN",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Multi-Turn LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 13925ms
checkAISpanCount(3)
checkChatSpanAttributes
97cadffagen_ai.usage.input_tokensSpan 97cadffa: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
97cadffagen_ai.usage.output_tokensSpan 97cadffa: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
8702a6b5gen_ai.usage.input_tokensSpan 8702a6b5: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8702a6b5gen_ai.usage.output_tokensSpan 8702a6b5: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
95627c8agen_ai.usage.input_tokensSpan 95627c8a: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
95627c8agen_ai.usage.output_tokensSpan 95627c8a: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
97cadffagen_ai.usage.input_tokensinput_tokens must exist
97cadffagen_ai.usage.output_tokensoutput_tokens must exist
97cadffagen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
97cadffagen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8702a6b5gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
95627c8agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a91a276e4822f5e8",
    "span_id": "b6477af1a7964c06",
    "start_timestamp": 1787552805.2599654,
    "status": "invalid_argument",
    "timestamp": 1787552805.3547063,
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a91a276e4822f5e8",
    "span_id": "96d8985d9428e6a2",
    "start_timestamp": 1787552805.382928,
    "status": "invalid_argument",
    "timestamp": 1787552805.4161468,
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "a91a276e4822f5e8",
    "span_id": "80618ecf2a257320",
    "start_timestamp": 1787552805.4258676,
    "status": "invalid_argument",
    "timestamp": 1787552805.4888513,
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a91a276e4822f5e8",
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552805.2015347,
    "timestamp": 1787552805.4942346,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "97cadffaaf1e6014",
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "parent_span_id": "a91a276e4822f5e8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.2142293,
    "timestamp": 1787552805.3625555,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8702a6b5375298a5",
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "parent_span_id": "a91a276e4822f5e8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.3812551,
    "timestamp": 1787552805.417752,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "95627c8ae494d89b",
    "trace_id": "b8202d8ce5ed4a8db78ef196eeb91c96",
    "parent_span_id": "a91a276e4822f5e8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552805.4226627,
    "timestamp": 1787552805.4894354,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Vision LLM Test (streaming, openai)❗︎ 1⚠︎ 13624ms
checkChatSpanAttributes
8ddddd46gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ddddd46gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
8ddddd46gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "ba8c0b3541f1d085",
    "span_id": "a1c225847e3c3aa8",
    "start_timestamp": 1787552808.4785984,
    "status": "ok",
    "timestamp": 1787552809.057128,
    "trace_id": "79da7c734b1d4ad095a869a854b44dc9",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ba8c0b3541f1d085",
    "trace_id": "79da7c734b1d4ad095a869a854b44dc9",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552808.4392421,
    "timestamp": 1787552809.0618973,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8ddddd462d7ac2a3",
    "trace_id": "79da7c734b1d4ad095a869a854b44dc9",
    "parent_span_id": "ba8c0b3541f1d085",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552808.4465067,
    "timestamp": 1787552809.0592542,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIQqNlmRM3iZDxlRj2QrdOtkISB2",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Vision LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 13231ms
checkChatSpanAttributes
8090e686gen_ai.usage.input_tokensSpan 8090e686: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8090e686gen_ai.usage.output_tokensSpan 8090e686: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
8090e686gen_ai.usage.input_tokensinput_tokens must exist
8090e686gen_ai.usage.output_tokensoutput_tokens must exist
8090e686gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
8090e686gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "bb68e7d89f7d6079",
    "span_id": "92747fc42196913a",
    "start_timestamp": 1787552808.4198153,
    "status": "invalid_argument",
    "timestamp": 1787552808.572797,
    "trace_id": "07ffd26c836943fc94b7e678b79e2791",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bb68e7d89f7d6079",
    "trace_id": "07ffd26c836943fc94b7e678b79e2791",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552808.3804903,
    "timestamp": 1787552808.6028142,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8090e686de9ccf02",
    "trace_id": "07ffd26c836943fc94b7e678b79e2791",
    "parent_span_id": "bb68e7d89f7d6079",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552808.3898323,
    "timestamp": 1787552808.5803907,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Vision LLM Test (blocking, openai)❗︎ 1⚠︎ 13468ms
checkChatSpanAttributes
99dcfa43gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99dcfa43gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
99dcfa43gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9fe9ece02ea893b6",
    "span_id": "8ce201b365b189e2",
    "start_timestamp": 1787552808.3574605,
    "status": "ok",
    "timestamp": 1787552808.9599655,
    "trace_id": "64cc3bc8be76437187a26b1529010a5e",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9fe9ece02ea893b6",
    "trace_id": "64cc3bc8be76437187a26b1529010a5e",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552808.2749465,
    "timestamp": 1787552808.9652991,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "99dcfa43a9c7f4ee",
    "trace_id": "64cc3bc8be76437187a26b1529010a5e",
    "parent_span_id": "9fe9ece02ea893b6",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552808.305466,
    "timestamp": 1787552808.9642782,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.id": "chatcmpl-EGIQqDq7jVs780OVINbebFXeOCt2g",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Vision LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 13303ms
checkChatSpanAttributes
8fc3f3e3gen_ai.usage.input_tokensSpan 8fc3f3e3: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8fc3f3e3gen_ai.usage.output_tokensSpan 8fc3f3e3: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
8fc3f3e3gen_ai.usage.input_tokensinput_tokens must exist
8fc3f3e3gen_ai.usage.output_tokensoutput_tokens must exist
8fc3f3e3gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
8fc3f3e3gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "81662e79046563fe",
    "span_id": "b7ebf03656b67a17",
    "start_timestamp": 1787552808.5930595,
    "status": "invalid_argument",
    "timestamp": 1787552808.7266474,
    "trace_id": "125efab0140d4884aca961da43c8e017",
    "origin": "auto.http.client"
  },
  {
    "span_id": "81662e79046563fe",
    "trace_id": "125efab0140d4884aca961da43c8e017",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552808.5383296,
    "timestamp": 1787552808.750401,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8fc3f3e3cc67e01d",
    "trace_id": "125efab0140d4884aca961da43c8e017",
    "parent_span_id": "81662e79046563fe",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552808.5516338,
    "timestamp": 1787552808.7323496,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"[{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"What color is this image? Reply with just the color name.\\\"},{\\\"type\\\":\\\"image_url\\\",\\\"image_url\\\":{\\\"url\\\":\\\"[Blob substitute]\\\"}}]\"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Long Input LLM Test (streaming, openai)❗︎ 1⚠︎ 13926ms
checkChatSpanAttributes
972a3d82gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
972a3d82gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
972a3d82gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8c24b65c4d57ecbb",
    "span_id": "be221cd63d03b448",
    "start_timestamp": 1787552808.8779447,
    "status": "ok",
    "timestamp": 1787552809.4498007,
    "trace_id": "b60139a8d3594f85bb03eda870b7a438",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8c24b65c4d57ecbb",
    "trace_id": "b60139a8d3594f85bb03eda870b7a438",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552808.851437,
    "timestamp": 1787552809.4657714,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "972a3d82319191d3",
    "trace_id": "b60139a8d3594f85bb03eda870b7a438",
    "parent_span_id": "8c24b65c4d57ecbb",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552808.8569026,
    "timestamp": 1787552809.4569366,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The message is a repeated test statement intended to create a lengthy input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.id": "chatcmpl-EGIQrnOA2UXM8N79IosO0PuAaynjI",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Long Input LLM Test (streaming, anthropic)❗︎ 1⚠︎ 12806ms
checkChatSpanAttributes
b3da9722gen_ai.usage.input_tokensSpan b3da9722: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b3da9722gen_ai.usage.output_tokensSpan b3da9722: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
b3da9722gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "9f16a3c0f9f36a18",
    "span_id": "bee6bd85676e14c9",
    "start_timestamp": 1787552808.2162545,
    "status": "invalid_argument",
    "timestamp": 1787552808.4892836,
    "trace_id": "5885aec498b048019f325604d24be423",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9f16a3c0f9f36a18",
    "trace_id": "5885aec498b048019f325604d24be423",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552808.176361,
    "timestamp": 1787552808.5188682,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b3da97222e761644",
    "trace_id": "5885aec498b048019f325604d24be423",
    "parent_span_id": "9f16a3c0f9f36a18",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552808.1829507,
    "timestamp": 1787552808.4984062,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Long Input LLM Test (blocking, openai)❗︎ 1⚠︎ 14010ms
checkChatSpanAttributes
b2e7f4bfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b2e7f4bfgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
b2e7f4bfgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(1 span)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b6c1dcebff35993a",
    "span_id": "9072f24d7775b88c",
    "start_timestamp": 1787552809.0506306,
    "status": "ok",
    "timestamp": 1787552809.8086631,
    "trace_id": "8832208ccec642a681e29e462a4fdfee",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b6c1dcebff35993a",
    "trace_id": "8832208ccec642a681e29e462a4fdfee",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552809.0282698,
    "timestamp": 1787552809.8125496,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b2e7f4bf25bc3390",
    "trace_id": "8832208ccec642a681e29e462a4fdfee",
    "parent_span_id": "b6c1dcebff35993a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552809.0336328,
    "timestamp": 1787552809.8117406,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The text is a repeated message stating that it is a test message that will be repeated many times to produce a long input.\"]",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 25,
      "gen_ai.usage.total_tokens": 5454,
      "gen_ai.response.id": "chatcmpl-EGIQrwb5z434Hp5aw7yUKojoO6aGu",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Long Input LLM Test (blocking, anthropic)❗︎ 1⚠︎ 12782ms
checkChatSpanAttributes
ac52da14gen_ai.usage.input_tokensSpan ac52da14: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
ac52da14gen_ai.usage.output_tokensSpan ac52da14: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
ac52da14gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.2.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.2.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "bb0b27d45c914c2d",
    "span_id": "93f1b18ea2a51719",
    "start_timestamp": 1787552808.6670463,
    "status": "invalid_argument",
    "timestamp": 1787552808.8413618,
    "trace_id": "9797abea9cff4efaa20526f54bc37d11",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bb0b27d45c914c2d",
    "trace_id": "9797abea9cff4efaa20526f54bc37d11",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552808.6201878,
    "timestamp": 1787552808.8629556,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ac52da14d1cda06e",
    "trace_id": "9797abea9cff4efaa20526f54bc37d11",
    "parent_span_id": "bb0b27d45c914c2d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552808.62954,
    "timestamp": 1787552808.848757,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Conversation ID LLM Test (streaming, openai)❗︎ 1⚠︎ 19414ms
checkAISpanCount(4)
checkChatSpanAttributes
b053b4a4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b053b4a4gen_ai.output.messagesMissing output messages attribute
a1b94047gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a1b94047gen_ai.output.messagesMissing output messages attribute
b7fc66f0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7fc66f0gen_ai.output.messagesMissing output messages attribute
91ef25dagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91ef25dagen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b053b4a4gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a1b94047gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b7fc66f0gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
91ef25dagen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9b8122da5e7ab270",
    "span_id": "be020a32d3c6b884",
    "start_timestamp": 1787552809.1613185,
    "status": "ok",
    "timestamp": 1787552809.9487383,
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9b8122da5e7ab270",
    "span_id": "b52fca8734d77acd",
    "start_timestamp": 1787552809.9580872,
    "status": "ok",
    "timestamp": 1787552812.5842519,
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9b8122da5e7ab270",
    "span_id": "967c99f8d6c4b2b2",
    "start_timestamp": 1787552812.5897741,
    "status": "ok",
    "timestamp": 1787552814.0923576,
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "9b8122da5e7ab270",
    "span_id": "9f517b471963e252",
    "start_timestamp": 1787552814.0949981,
    "status": "ok",
    "timestamp": 1787552815.845128,
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9b8122da5e7ab270",
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552809.1433454,
    "timestamp": 1787552815.8461301,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b053b4a4399a8460",
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "parent_span_id": "9b8122da5e7ab270",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552809.1472726,
    "timestamp": 1787552809.9521024,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.id": "chatcmpl-EGIQrIwfFdQaD2a19N9K0qide00xe",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a1b9404763700ceb",
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "parent_span_id": "9b8122da5e7ab270",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552809.9562254,
    "timestamp": 1787552812.5849438,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4. Quick checks:\\n- Number line: start at 2, move two steps right → 4\\n- Counting on fingers: 2 fingers + 2 more = 4\\n- Ten-frame: two dots plus two dots = four\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 442,
      "gen_ai.usage.total_tokens": 466,
      "gen_ai.response.id": "chatcmpl-EGIQsTM2DhmOAk1VF3PnRDe1YS5LD",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7fc66f0ee393b63",
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "parent_span_id": "9b8122da5e7ab270",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552812.5877814,
    "timestamp": 1787552814.0930264,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.total_tokens": 188,
      "gen_ai.response.id": "chatcmpl-EGIQu6ABSucVOXBXQr5craavWseFV",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91ef25da3b61e5cb",
    "trace_id": "469e5c2a94af44d3b3dbec503180c153",
    "parent_span_id": "9b8122da5e7ab270",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552814.0939057,
    "timestamp": 1787552815.8458002,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 equals 6. For example, 3 apples plus 3 more apples make 6 apples. You can also see it on a number line: start at 3 and move 3 steps to reach 6.\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 249,
      "gen_ai.usage.total_tokens": 299,
      "gen_ai.response.id": "chatcmpl-EGIQwuOiQcLyCHCfF0DtuUgBRAYX1",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Conversation ID LLM Test (streaming, anthropic)❗︎ 1 1⚠︎ 12743ms
checkAISpanCount(4)
checkChatSpanAttributes
892b46a7gen_ai.usage.input_tokensSpan 892b46a7: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
892b46a7gen_ai.usage.output_tokensSpan 892b46a7: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b3fc247agen_ai.usage.input_tokensSpan b3fc247a: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b3fc247agen_ai.usage.output_tokensSpan b3fc247a: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b07eed5cgen_ai.usage.input_tokensSpan b07eed5c: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b07eed5cgen_ai.usage.output_tokensSpan b07eed5c: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
a417e3e6gen_ai.usage.input_tokensSpan a417e3e6: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a417e3e6gen_ai.usage.output_tokensSpan a417e3e6: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
892b46a7gen_ai.usage.input_tokensinput_tokens must exist
892b46a7gen_ai.usage.output_tokensoutput_tokens must exist
892b46a7gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
892b46a7gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b3fc247agen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b07eed5cgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a417e3e6gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b89e43c268d2bd64",
    "span_id": "9f909457610e815e",
    "start_timestamp": 1787552809.1197777,
    "status": "invalid_argument",
    "timestamp": 1787552809.2200625,
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b89e43c268d2bd64",
    "span_id": "99c1814274a9f375",
    "start_timestamp": 1787552809.231178,
    "status": "invalid_argument",
    "timestamp": 1787552809.2576041,
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b89e43c268d2bd64",
    "span_id": "b76692f1cd59bd78",
    "start_timestamp": 1787552809.2624822,
    "status": "invalid_argument",
    "timestamp": 1787552809.2972586,
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b89e43c268d2bd64",
    "span_id": "bd6cf44fd435e67a",
    "start_timestamp": 1787552809.3010314,
    "status": "invalid_argument",
    "timestamp": 1787552809.329035,
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b89e43c268d2bd64",
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552809.1038656,
    "timestamp": 1787552809.3308997,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "892b46a71b4497e4",
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "parent_span_id": "b89e43c268d2bd64",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552809.1071754,
    "timestamp": 1787552809.2225919,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b3fc247a97938c1e",
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "parent_span_id": "b89e43c268d2bd64",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552809.2295394,
    "timestamp": 1787552809.2582874,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "b07eed5c84b144f7",
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "parent_span_id": "b89e43c268d2bd64",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552809.261455,
    "timestamp": 1787552809.2977638,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "a417e3e648370730",
    "trace_id": "ea1d06385a674f408b95de59a16b9ddf",
    "parent_span_id": "b89e43c268d2bd64",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552809.2999482,
    "timestamp": 1787552809.3294673,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  }
]
node/langchain :: Conversation ID LLM Test (blocking, openai)❗︎ 1⚠︎ 19327ms
checkAISpanCount(4)
checkChatSpanAttributes
9695bf59gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9695bf59gen_ai.output.messagesMissing output messages attribute
8cf0e2e1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8cf0e2e1gen_ai.output.messagesMissing output messages attribute
92d07d82gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92d07d82gen_ai.output.messagesMissing output messages attribute
bd77252dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd77252dgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9695bf59gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8cf0e2e1gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
92d07d82gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
bd77252dgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.response.stop_reason(4 spans)
Attribute "gen_ai.response.stop_reason" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8d638b6546872f59",
    "span_id": "be659ae41cfaf40f",
    "start_timestamp": 1787552810.0601172,
    "status": "ok",
    "timestamp": 1787552812.4813113,
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8d638b6546872f59",
    "span_id": "bf362c0d18a392d7",
    "start_timestamp": 1787552812.5012076,
    "status": "ok",
    "timestamp": 1787552814.5579462,
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8d638b6546872f59",
    "span_id": "ac5f48e4e2ee9eae",
    "start_timestamp": 1787552814.5608592,
    "status": "ok",
    "timestamp": 1787552816.0765157,
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.104.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8d638b6546872f59",
    "span_id": "a23df0585bee7db2",
    "start_timestamp": 1787552816.079191,
    "status": "ok",
    "timestamp": 1787552817.897305,
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8d638b6546872f59",
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552810.0421774,
    "timestamp": 1787552817.9074113,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9695bf596367acdc",
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "parent_span_id": "8d638b6546872f59",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552810.0458484,
    "timestamp": 1787552812.493851,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris is the capital of France.\"]",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 272,
      "gen_ai.usage.total_tokens": 295,
      "gen_ai.response.id": "chatcmpl-EGIQs6hlRmTOGPq5oib7dLhNUH0lo",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8cf0e2e12362ae96",
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "parent_span_id": "8d638b6546872f59",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552812.4994745,
    "timestamp": 1787552814.55884,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4\"]",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 266,
      "gen_ai.usage.total_tokens": 290,
      "gen_ai.response.id": "chatcmpl-EGIQuBMaFT0lbIw2XGrPNpON1SvZW",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "92d07d8299133246",
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "parent_span_id": "8d638b6546872f59",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552814.5597894,
    "timestamp": 1787552816.0774608,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.response.id": "chatcmpl-EGIQwUUvwHlP6TqJfxz9BwzoHaGLl",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd77252d486fe7c7",
    "trace_id": "596ae5e77f354415b4ffc427b2c68b7f",
    "parent_span_id": "8d638b6546872f59",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552816.0781996,
    "timestamp": 1787552817.9068336,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.temperature": 1,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 equals 6.\\n\\nFor example, if you have three apples and you add three more, you have six apples. Want more practice problems?\"]",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 233,
      "gen_ai.usage.total_tokens": 283,
      "gen_ai.response.id": "chatcmpl-EGIQyxs9LFaK4qbdh2sFsqNiGWCfn",
      "gen_ai.response.stop_reason": "stop"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/langchain :: Conversation ID LLM Test (blocking, anthropic)❗︎ 1 1⚠︎ 14155ms
checkAISpanCount(4)
checkChatSpanAttributes
a69678afgen_ai.usage.input_tokensSpan a69678af: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a69678afgen_ai.usage.output_tokensSpan a69678af: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
94671491gen_ai.usage.input_tokensSpan 94671491: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
94671491gen_ai.usage.output_tokensSpan 94671491: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
8dd59341gen_ai.usage.input_tokensSpan 8dd59341: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8dd59341gen_ai.usage.output_tokensSpan 8dd59341: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
bd1809b6gen_ai.usage.input_tokensSpan bd1809b6: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
bd1809b6gen_ai.usage.output_tokensSpan bd1809b6: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
a69678afgen_ai.usage.input_tokensinput_tokens must exist
a69678afgen_ai.usage.output_tokensoutput_tokens must exist
a69678afgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
a69678afgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
94671491gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8dd59341gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
bd1809b6gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b8a27d6850306279",
    "span_id": "adb71a16168fcc0e",
    "start_timestamp": 1787552810.0631804,
    "status": "invalid_argument",
    "timestamp": 1787552812.4686446,
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b8a27d6850306279",
    "span_id": "8e2ca2ca41e72da9",
    "start_timestamp": 1787552812.4989011,
    "status": "invalid_argument",
    "timestamp": 1787552812.5681648,
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b8a27d6850306279",
    "span_id": "b7b443f5a0d770db",
    "start_timestamp": 1787552812.5775776,
    "status": "invalid_argument",
    "timestamp": 1787552812.6511524,
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://openrouter.ai/api/v1/messages",
      "http.method": "POST",
      "http.target": "/api/v1/messages",
      "net.peer.name": "openrouter.ai",
      "http.host": "openrouter.ai",
      "user_agent.original": [
        "Anthropic/JS 0.39.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/api/v1/messages",
      "url.full": "https://openrouter.ai/api/v1/messages",
      "url.scheme": "https:",
      "url.domain": "openrouter.ai",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.response.status_code": 400,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "BAD REQUEST",
      "http.status_code": 400,
      "network.peer.address": "104.18.3.115",
      "network.peer.port": 443,
      "net.peer.ip": "104.18.3.115",
      "net.peer.port": 443
    },
    "description": "POST https://openrouter.ai/api/v1/messages",
    "op": "http.client",
    "parent_span_id": "b8a27d6850306279",
    "span_id": "8fd6f642d49ebd53",
    "start_timestamp": 1787552812.659746,
    "status": "invalid_argument",
    "timestamp": 1787552812.7950132,
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b8a27d6850306279",
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552810.0448382,
    "timestamp": 1787552812.8011289,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a69678afd675d52f",
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "parent_span_id": "b8a27d6850306279",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552810.04822,
    "timestamp": 1787552812.4758985,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "94671491a572f5c5",
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "parent_span_id": "b8a27d6850306279",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552812.4968777,
    "timestamp": 1787552812.5695639,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "8dd5934120ec8aaa",
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "parent_span_id": "b8a27d6850306279",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552812.5745597,
    "timestamp": 1787552812.652175,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "gen_ai.conversation.id": "conv-a"
    },
    "status": "error",
    "is_segment": false
  },
  {
    "span_id": "bd1809b6d6390a8b",
    "trace_id": "310fe3bc338f43408146f151de8f4e14",
    "parent_span_id": "b8a27d6850306279",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552812.6576028,
    "timestamp": 1787552812.7958496,
    "data": {
      "sentry.origin": "auto.ai.langchain",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.request.temperature": 1,
      "gen_ai.request.max_tokens": 2048,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "gen_ai.conversation.id": "conv-b"
    },
    "status": "error",
    "is_segment": false
  }
]
node/openai :: Basic LLM Test (streaming, chat)❗︎ 13724ms
checkAISpanCount(1)
checkChatSpanAttributes
a4b65a2agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4b65a2agen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a4b65a2ab1465ed2",
    "span_id": "af3925a244bc34f0",
    "start_timestamp": 1787552812.0145755,
    "status": "ok",
    "timestamp": 1787552813.2078843,
    "trace_id": "85f13be28f324e55b42c307afbeb17ba",
    "origin": "auto.http.client"
  },
  {
    "span_id": "84feb9a4fbd5c456",
    "trace_id": "85f13be28f324e55b42c307afbeb17ba",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552812.0004606,
    "timestamp": 1787552813.21772,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a4b65a2ab1465ed2",
    "trace_id": "85f13be28f324e55b42c307afbeb17ba",
    "parent_span_id": "84feb9a4fbd5c456",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552812.0022807,
    "timestamp": 1787552813.2143738,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQuWWdcts5LtWhdMb1tLcaVkbWB",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Basic LLM Test (streaming, responses)❗︎ 13726ms
checkAISpanCount(1)
checkChatSpanAttributes
89a3e056gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89a3e056gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "89a3e056390bdeb6",
    "span_id": "ae39cdbe99e68e69",
    "start_timestamp": 1787552812.0156367,
    "status": "ok",
    "timestamp": 1787552813.535569,
    "trace_id": "1ba880ea78c14e9a8d84618407b06621",
    "origin": "auto.http.client"
  },
  {
    "span_id": "81bb8d7c912b0e44",
    "trace_id": "1ba880ea78c14e9a8d84618407b06621",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552812.0011957,
    "timestamp": 1787552813.5398088,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "89a3e056390bdeb6",
    "trace_id": "1ba880ea78c14e9a8d84618407b06621",
    "parent_span_id": "81bb8d7c912b0e44",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552812.0029414,
    "timestamp": 1787552813.538826,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0d77c6d7645db819006a8be42c1fb887d0ab1d84c7c3d63345",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 169,
      "gen_ai.usage.total_tokens": 192,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris. If you'd like more about its history or landmarks, I can share.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0d77c6d7645db819006a8be42c731087d0a0d0f7670b892c2c\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QtNWClBN-jR1BgN0DidyrVUUCQthIOhc1_QpaY5xOemhA6bd3lWqBgnW22i803bSJM1-2kUTGsdFn6tE19Y0R4FgKz8lycWu6US1q2y7oEs379dfQFbGVDdGVaMASqrQYLsbxgDKsLabukF0ireDfw82iEFuUwYtIwsK_edPZv2CWTfuEwjdiHHHKjKxYvjIJnkyJdwG1BATMaHbF6EEKiV-60xjFE-l5ABZNmcQi5ojdHOtxIFPj60xCD5hgHl5rVi5OjL_6tvSR8zmOPf1v8Xh7b3xt1H8Z9ZYt6kyKw4wtiqqn5LbjFa4jN4fUYvjBaJR2V-bhJIuA-phQj2-Mc2xc9ksolAm1f-7pVGgn-Jc22iiSrtwkPImoS3nPO8HJfmYZRbj2Pn5nXy7beMge2fgoUPTyRrON3HNYl88PKJ5_LS5kEQt4B1Wadk8LlFNsFGos0wY1YH70SUrA77USi0R64PZi0kxDPym65DNWCe66nFtOx6hM07KdHCuWm9yuFqr7MN36S7vTsMwWU0bVGj56omMa02afyk4MeaYdUEGkTUn1EmY-PKybeVWA682RW16QHcQMbGNtRckrg898TroV-aAWWCB6us1Ofmn8_oC9fbGPXyNN6Jq44_WrCgOUGxK96mz22n9afaif2byTayW37f6yc-N0ZT04H_3cKN-jAKO_uzMNaSFJAedZozIylHEB0o-QMrmqoCYas0W9exxL4QFSxwDHXcVx8cgwcuo9n-VAXvH47ozNkNSbgBcVZNWO7JWwpYnIRd0pCnY1SnE-r2SU_jSJUnRmQiHSiZLbWWdL3tzYnGC6xpghi9J-BxgNRp0OUON32-QN6pa6poxicxhOAuhQ5oBb-73qTDv2oU4DrqZJaAcoUxM582r3GiR0pLgjdE2vbiG2OKTxe4Dg64WAPv25wAdogyF-Uk-V8zxBAF9AsOqM9ljuwOIOMo8GcEQ4AHyKzkqSIxBsXH_sFJqRhmXBuVq2GmY_u4vMTjNlyG9Li8VxDJqPiMn86m_3jw9YEv-e_UPswbRsDoUanVr7AG5izxtu5kwlH_YtCtxOtFVB4T01m2YH0lq9geRU-tMTzcn9YgR9oRBpfFI0osZ6GpR8_VG--LYeLADnrU3poBmwrETbVc0BmJS3xNvU42W94bqIk3S1GY-wlEQCxlKLa7kStXhVI4RXMqomEcIqyS95kCc5FPJPaxGAEFQvWADOQE8zziiOwel67S-h8oOsaq4Zck8IvUfDwozt0XVy0r-xu1-_J8q_GxQUCQrQ4n14sHHiJ35yTBgwPFn7GXz9U3tYHBKyWmAsw61aWlebGtll7_t50Ub8igGy5iOAjbAA9-Bdq-mc4p_cJA29XGz2rm7p6L5bX4hNbefVIxHbzfxEJwkYIarFSHgpO3N4uEB68SZia8YxseZLndfJg6mANRqH3120-WiUzT9hhrIoe4tvwe7qfLIYMHKE4iczYOw1lvS2d4vKJ8xsJkizISH_DlkKfwOtPl0dQV85jgxSiOBq1OAunR438Zo5KRBhywxUQV_tZyTQo0d4oRo6rHBjGg7aYIl-0eaPlLD_aQMX1X_uNktn_UUemEpgzb9xikXsSlEqjO8B54m-dMWG9bWWZ5MiyKkFBJZqoQO0ifcthGVh5yNdStxtke5OMga35F0cxoALNFnloJm5JRvD_FhuklfTO00WEP66PKB_vrOiTOorJx-KMs7bY1Ndu8rjC13tBwVEpx1CASTsEjwCuQPlvA12w0L4cIeenDMGdR03L5XOfN0_Zfqq4C_StW60ETL__B1m6OtOx0xfIuKYgigqqRxmlF6UA26E3CE0S5Pc44fIEHLsUHvadHWTDH3jritTu8L21Y1h2gO1b064d_MWj8bxbyB_LfWidXLMN7Jk9leUh7cbnxxXOfiIXBIN7sXmZljFr0i4PZjIqNeuWxos46r2pp7ch-UwXZKvFiaoH0qs50f8asXqfDPcMo7L89r4daniqRoubTEYLMD2HQ-bCxY4bJ-Iu7JsMCoMoAocCxROALq4eLQmvVTdltcIl1EmwmjbUEPLK48JIZkC4U-QGLIPbPs5NvTDswbE=\",\"summary\":[]},{\"id\":\"msg_0d77c6d7645db819006a8be42d22a887d08353d444e6c32557\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris. If you'd like more about its history or landmarks, I can share.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Basic LLM Test (blocking, chat)❗︎ 12939ms
checkAISpanCount(1)
checkChatSpanAttributes
8ae7719bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ae7719bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8ae7719b9da95b9c",
    "span_id": "af095adab0d704b1",
    "start_timestamp": 1787552813.3671904,
    "status": "ok",
    "timestamp": 1787552814.6101394,
    "trace_id": "b9ae7566a7fb4e7db90017580067e9d4",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ac4ed8e33b514fe5",
    "trace_id": "b9ae7566a7fb4e7db90017580067e9d4",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552813.3533492,
    "timestamp": 1787552814.6127446,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "8ae7719b9da95b9c",
    "trace_id": "b9ae7566a7fb4e7db90017580067e9d4",
    "parent_span_id": "ac4ed8e33b514fe5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.3546257,
    "timestamp": 1787552814.61221,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQv9ucKZyWhswMmIMPud6ugDwc1",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Basic LLM Test (blocking, responses)❗︎ 13292ms
checkAISpanCount(1)
checkChatSpanAttributes
b992c3f2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b992c3f2gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "b992c3f206a12434",
    "span_id": "ad331a5b70602782",
    "start_timestamp": 1787552813.3751884,
    "status": "ok",
    "timestamp": 1787552814.9763057,
    "trace_id": "aa0b307f8a064acf91aec67362cf290c",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b301a6539d695286",
    "trace_id": "aa0b307f8a064acf91aec67362cf290c",
    "op": "test",
    "description": "basic-llm-test",
    "start_timestamp": 1787552813.358375,
    "timestamp": 1787552814.9793923,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b992c3f206a12434",
    "trace_id": "aa0b307f8a064acf91aec67362cf290c",
    "parent_span_id": "b301a6539d695286",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.359948,
    "timestamp": 1787552814.9787166,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_00eb6bf0243f66ff006a8be42d7aec87d096806cf854d1a4a4",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 135,
      "gen_ai.usage.total_tokens": 158,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Multi-Turn LLM Test (streaming, chat)❗︎ 118427ms
checkAISpanCount(3)
checkChatSpanAttributes
b8f7d4efgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8f7d4efgen_ai.output.messagesMissing output messages attribute
ba36e1fbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba36e1fbgen_ai.output.messagesMissing output messages attribute
acbc6128gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
acbc6128gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b8f7d4effea8e696",
    "span_id": "a2e18991ebde932e",
    "start_timestamp": 1787552813.25102,
    "status": "ok",
    "timestamp": 1787552814.315805,
    "trace_id": "319b48108d31462597b7af17aede008d",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "ba36e1fb0b766856",
    "span_id": "ba703c3f8174c11f",
    "start_timestamp": 1787552814.3201978,
    "status": "ok",
    "timestamp": 1787552822.5271492,
    "trace_id": "319b48108d31462597b7af17aede008d",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "acbc6128bf72c966",
    "span_id": "bb93ee3e4ca907bb",
    "start_timestamp": 1787552822.5287325,
    "status": "ok",
    "timestamp": 1787552830.1098077,
    "trace_id": "319b48108d31462597b7af17aede008d",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9c3da8360aedb9a4",
    "trace_id": "319b48108d31462597b7af17aede008d",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552813.2304628,
    "timestamp": 1787552830.1105597,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b8f7d4effea8e696",
    "trace_id": "319b48108d31462597b7af17aede008d",
    "parent_span_id": "9c3da8360aedb9a4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.232407,
    "timestamp": 1787552814.3181436,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQvXfThmdADneuEmFzDkfBAIfvW",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba36e1fb0b766856",
    "trace_id": "319b48108d31462597b7af17aede008d",
    "parent_span_id": "9c3da8360aedb9a4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552814.3192012,
    "timestamp": 1787552822.527598,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQwK2ExMnFehXC1yz5R7O6SXI0j",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1661,
      "gen_ai.usage.total_tokens": 1709,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Paris is the capital.\n\nPopulation depends on what you mean by \"that city\":\n- Paris city proper (the commune): about 2.1 million people.\n- Paris metropolitan area / urban area (aire urbaine): about 12.5 million.\n- Île-de-France region (the wider region including Paris and surrounding départements): about 12–13 million.\n\nIf you want a precise figure, tell me which definition and the year you want (e.g., INSEE 2020, 2023, etc.), and I’ll provide the exact number."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "acbc6128bf72c966",
    "trace_id": "319b48108d31462597b7af17aede008d",
    "parent_span_id": "9c3da8360aedb9a4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552822.5279934,
    "timestamp": 1787552830.1102304,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIR4417CFxuZ3TtDM38zkvdeiito",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1336,
      "gen_ai.usage.total_tokens": 1417,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Do you mean one of these definitions of \"metropolitan area\"?\n\n- Paris urban area (aire urbaine de Paris): about 12 million people (latest estimates around 2020).\n- Île-de-France region (the wider metropolitan region around Paris): roughly 12.3–13 million.\n- Métropole du Grand Paris (administrative intercommunal area): about 7–8 million.\n\nIf you can specify the exact definition and year you want (and whether you want INSEE or another source), I can give a precise figure."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Multi-Turn LLM Test (streaming, responses)❗︎ 119353ms
checkAISpanCount(3)
checkChatSpanAttributes
a5dd2352gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5dd2352gen_ai.output.messagesMissing output messages attribute
92e70e04gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92e70e04gen_ai.output.messagesMissing output messages attribute
95bbf90egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95bbf90egen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(3 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a5dd2352553a8681",
    "span_id": "83e1889a80f49581",
    "start_timestamp": 1787552813.3161037,
    "status": "ok",
    "timestamp": 1787552814.6277208,
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "92e70e041d643e01",
    "span_id": "9e0945dd27cd4448",
    "start_timestamp": 1787552814.631877,
    "status": "ok",
    "timestamp": 1787552820.6177802,
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "95bbf90ebc83a4c8",
    "span_id": "b4a3c0437d6f397d",
    "start_timestamp": 1787552820.6193814,
    "status": "ok",
    "timestamp": 1787552831.0040607,
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a0f64be4aeb8300c",
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552813.2935557,
    "timestamp": 1787552831.0049672,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a5dd2352553a8681",
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "parent_span_id": "a0f64be4aeb8300c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.2956426,
    "timestamp": 1787552814.6298323,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_086ed88746e62ee6006a8be42d6cec87d0a178e35bfe130529",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 140,
      "gen_ai.usage.total_tokens": 163,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_086ed88746e62ee6006a8be42dc13c87d0b509509218651210\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QuK0JRKgRlNoLGledKaRsNbLRZjszcCLGs4dINRGp077_OLcs6uRp_pbSvGNsD7LMgSjmDCRJsObQKSsxnpJBrlkGvgzL2fLgYRqzt0t75XafDNyXc4zZJMY_6cu6rexYv0z_yhCb4z1l3TufFA88kN7CRx3iCJRwobg5lv1vQmL_6ehi_NGfMjwOMmacD5zhaNeoeLc4NuPiXxhQE1klFjv8KwhH3wdp1s7wYsGI5n6LkeUKEAnjptSv1u_KaIhXutNqaySgo9vFcZzK8OuZWs2mZ8lbzpbhuQPQw_DKeEWRlYP96Rrj-z8n_q-csrZJR1QKhoykSG3pgg6YT8Pfze3j_Mgl5lpRFASOxg6YmjIz5WBUW3Glg-peUU9EQetCgbXOUKiq62R07_ndB604MgaFy1S3sdJMZMEZ1RXW2LRew-UZgEOmYz6GkIp5txvkIvvhKc5pOKKZAWHsONFYiWcL4d3pZotvAZNlQDFKJgPeo-0jdnrfjmCvdNsCRmt4XMqoVARSFbEoCm3jKig0mkS5Rbw1Hz5q7my-h_cnkX8QZixKV6JdbSq4i5AG4JPY9Yw5gOeaX19rVLAaxJn0l8LJBcgQ5tcNK_pc-HOeZdI7I2GSubAfi6J9DNoAlIq70A9IHyFtv92VAJ17R-9d39LW2RFsJMdmkCHI6zSTCHB5BuRzJ2zXuANpoXdW2B_-6TNBvo06K9tNkPhAEHNs-AMkQjnngN-t7l_3475r4lk5gaRofFH2bcuKV2imq-muoQl1AXAUeIAb8Ea4fgQTUVo61UHP0g4NnDeJhTXiUIKH1FiUgn9t1yMDvjVIfy5_irKT19KkGGuYfoZaPQtX7Wr7aLjuHLee-fJxmvd55517xReV4pAeZmtOgiwBY8GePM08YXWLf36JnImWqNgorG_euKgz6Ac-d6P-fpQ4HMdCx3YNmF-anKOMKi6DuVz8Zf8urZCZ3ZiV3NG_VI9_FglRD2rIZ_3RTBs_cTn3txbWEvWtDSv4CMwn0ZHJxVdqWrw8OOjImmn71zQCjvVkFgLYnsrgZCU8jo6KMLhvdN6lthCYuCo-LQIJSN7Gu3VY-uT3W8R6R0oqErWXYufzMnMfQghlKft6UGHNDuONEvwzNhtH8OAOanCbi_koP9rBYyjil4AD6RPTao6hxU0FjdEYhhgKo0Lzw8nnjvaG2UhkqjO6o1qASEfBoWFEy0D0qT6dMlUxWVpYJaVLtPTfUE_VYJG8j5Fj4u6ewvLhmyRKDMha3XLs1LADzNgoZY37PPGiBfn6rjIjoZm-LJcOXYjDsvEJL3suP65_CSr0DqdCdi0bAKAKmmd6-Yux5-w6UxuEmj0vTo1bwlbrlHq9GkU45ELkM8L1kBXH6iorn4A51QijhlggZDR5WmX_MzmhLn1atKuCC3Tluzq9JBtEmbybsEelIvY1x4RCb3AtGgInIn-_g_X5Amo-iCAHWulk8DQL5DOTnZnU0uqFbwHf7BltgMHXUIHIj7zGuqn5UxKa9tscXv_Z8KtB2RMPMdtmAzdrKtwLRQ8jckRiYYIs9mlFUhy_NhmDpsGM6jzRRhwyUipfWRgMa6jr4UnOJXGiaEoLf8OjgeKOmqeX9kINBE5mRB77GutBzro3PRBlyHGeMOhkIqiN596lGAekNAY9yKylaRBt6cYYCsIbR8Du2ber7cLdx6Z8I7CytA2ZN0xQsPT1hWMdeSa6-62BxTVe_fitRvkIdvq6zgoaZVV5CkH1jma22P1SOls0nQKzFSONHF7lrqsd78J71MkGKgEimaU4Na0i6lLSpjcc91y-X87I8zwefkRBy6huVOO0Cj6QxIhs4jm0eEXjlvlGyAVtQyOqd6hSDgJAAqJQhUPScxY1jJxCKFVE14yJ3Jyq2VTB36MvwwrD9V1oVOdDWay_IYwwRv3mTuOaHpmajScmd2aQR5KuTocgA1XChluW5RAeI0WoSKfvaKxIUeX9JIAez\",\"summary\":[]},{\"id\":\"msg_086ed88746e62ee6006a8be42e5fd887d0915dacc258beccdd\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "92e70e041d643e01",
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "parent_span_id": "a0f64be4aeb8300c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552814.630682,
    "timestamp": 1787552820.61821,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0214091b406d44b5006a8be42eb51c87d083714764fa26af30",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1147,
      "gen_ai.usage.total_tokens": 1195,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "- Paris city proper: about 2.1 million residents (roughly 2.15 million around the 2020 census).\n- Paris metropolitan area (Île-de-France): about 12.5 million residents.\n\nIf you want a precise number for a specific year or definition (city vs. metro), I can look that up.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0214091b406d44b5006a8be42f1a1c87d0abf81a1ad883a3e1\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-QznyK5D-i2O9h1ZZ5tVPB-DsSBASIxScd06srCGIHB89Fr_xUosmcSosj47pA1pXrupnlpToxaBMhr_tbvczz3vh8IudFgx8X7mzSG1F8BQQ8pJ3FhIWysxwoIR3fT9qJIpkaOelwFtOGc2BVC4xSCRwTdiojZRZaStpS7WhV9V62mlQao1ME7JByqgrOU7Ocas-VRVp-3t5vbxF2ZHFrydeyVs4N8LILt962a5pm8niAJ426mEln4f1dgge4f6ior-M49oadT7HxfFiiaPslfLWAQctXXqkhRICbJUj7bKCK1wa83r64R2iqPECcZT9BtfOgFuA6QSsPqsyDnT9MeAvxOnVUVDZ5jtgNLtgW4wk-rWaXahCqZZzvvxckkfv6px4QdNEze5o6_HSGnWhI6O2oUXdV3GviDP-H4kvLZWM61n9S5-x3dylzuCg-juF-ld0zyhZ7KUEf20fkFaEa6ct4lbqujYdZ576nGjxUXpO8P03X1IrLO1riLlJLQJ-sbjAfgMhOOSyAlcJNKhquy5CHJlSvMWvQ8-TnhJaDsPukO3FKhhLtUouYTbrJArdzdNNw_HPQMUFGeRi6HYpAXE_Bn3eT3i3DBz3W5_npgjODMPwx63goQrwyfIDPEEmWio6BKsJaMM8nmVIUq43_ve6jC0AR-2Lb2McYYbeIClrj7pp_knSwbVTTQOF0mLgg7LRCvhOgY076wm1eB0iTs-d8zHQEOAYrXaJBXgohB6S199mx6s3UfP_X6Q9ZWTtD7Cd2GJEf4Bl1xLw0jaqFAC-YwW0aUej31dLE6GjEro7QPhd6im1cB1DP0zVvjyuak9Nz5iZhv2TYGKWHEDyl0FrBQXhrGeuF1rBadlECZGpRuUFC-7xyJfuKqItoEjIT-NF-Bb1JiMq3aNX0lQUY3rbLFB-AcE83bQayrGlsUHmD4aXhaPvoB3bY6RZnZy5_ooDYKC3kx5Y86oX5khlpagX5II_1I44qhHEePDiCwZlY1yhCc3JYkLTwiw3h9-FfyXXvDjb08cO3skBYgM3h-rlYvPT4IXiT9tidfmb_sqDk7QoVOJ6MAIPhibD-swv-KwEHaXxiww5tR899dLlCAScPv98V40fKjvEnXITvqqB8FlxD13OmvWqrB4kmFDkrZ5PUphXHu8vuORKz6xrLu27Yn9SpL3jWJVFyUv4MyCZwHlFCNO74NJ2PQselozU8LFkbFOmfs7y5s06neWe3RLwCbI-MNvwe5rHjdQZdXUj6VDHj4U_xrWX0wyI_Wdl4BhV37TgcJ81efQGxItk3EabMdSkdYWYpbfrqPRXrAWRfHAqKsup6iZcZ6DtdOuIzsR3vWgg8lINdi1noYlr8st0CeoeYa7wlf-_V3JpXb6w3SCa3_If3NecXcD0jCWyFB6US8qRRoxdgAJKAejhPh3oOmpxMC71gpBsZmkVrL4OKWdwunadx4X0dpJ7S0C7ebLtoIzM3-GBMnoovQFOihuFITEx7lNBPdEhi5VjVVdscqM0A-LzhhgAjqJImGS9DtbBWJQXjjxcMF3TJlzUnki3j9b8qhNzKT0mbrg4fKr_jS0cX0dsrgXimrP9z0bZDAulie4DNTCj9YAhGzMAG1_lcbU-QulEHNm5tsK2-GtALsj8Q3Ij3Q6YE7Qz6F25dXWc-TBtYsGr7_EyoyVAc_ewsPAZD5cg7aUeI69osYQcZJdM0Sel4pzOPVTKwC5atsKacT5gtvOowL97KETpQaR1IXkYBB6-cBKH7cdpr-cqX3S_7p5M06IRvzrvyNHF-ejDdjaFaP0cxEqjDs3Uj_zAhWxC7nmfgLcihZPweaUKGVHIlxEIjuO9NVWdgfC6mYFMFiGGi5j0SHG09WdQe0rn7Tlw5YL7dXNWZn3nV24Og_CFgi7UNLhZ14e14OixKNf7PkTMcMeT2lhv6sr0_BVq0NSvhkq6GZLj89YDhv8dvmqSzmljP3BnSR0AX_LPz6HDizaFfgjGPp_6gACBGLVVbP3qGB2D-6F2Dg3JXdefyNsihVXCRTypa2jsdCun4Z6NHlv9nSwWJpkw2pe6wmTpTqLpIVCuWhnOn5puwa6X_mY_3rlI8qDAIqpLyvK5B1UpjWHm3YTompAB4IMEPLt1uEhOz55eOBVFgHuCcAND9Mdddzp0Ii_mwkUjazAPracQCx_3T-v7NdQRXlP1onxgmAMioklhrbrtdm-JNE_nrXB5Abenfiv9qH5nwdvNaNHpgm7jsGog_Hfz5uBoQvuK2dvb5nEXy-sysEELEJ2AiNC_2gB9lyAzVPkrZIwZ2HJbu6i6UQTlS6MaoC2AX3cLyLK4O4eXnW7YmdAgPxcaKsGbw2RglY5J89ARkmqEaCj0DtY1ECFwQD5l5vNShWe9cYoYreytjEQZQRpWeC0WaThFWcu-gS5m_Etldpm__xJTFqGgDHXBt8NU4PhxTaKaXEBhpeVBpiWy0AaLqzafKizUz3rkr0forZx6tQrBurhchy8QPL082L3n1pVzZga17G-1zxNlmmJGk7gpglFwkb9G3chqRfv0JNGNTAxU1o822BgBXL9xAjypIiY4WLxp68XFTCtcNxnTWNJloqCvjLNhd2fwH9ohmMhrYDCIrV_CdBZSIuN4vdZC5fVXdHtZ7mCc_fNs4Qx_4Ao7zazB_gbdOaheBWJbeApAK_FmS6EB1XuEoSaPqbTGzhdrRXkQzmRpmhwG-GaxH0k838RjU0owPZOb6JzxuaHII2cH9b5Sq37SB1819vugcTEFOEg2mCT9ppo3p2y2alfITg02CzxTVlQVD1inM9xLaWGSTOcOOlm4pn-G2F6iUVrDeWluvCSuWULZ7TU-cUIKxdE_XUDaiVuzp0bQ6-Yv_vfleleKud0zN_2VyMZ4jauubx-QrogatTsO4m-eBxJeI1HRm79hJKUAgSK48N0TQWGTB0_sYjP09ko1HSQYieHqTAjCiZBNYSMdTIHU8MrhJPyuThldxKwMG3OX10OAQ7B5FXhzvy5dBTj4Qu-MCmaX4GCj7G5qhZtGo7IJGv1uNd7VarX72SV8cU4-gRuSFCJD7cxkdgPiPavRiDhHWl5J_yYglZA0JxagW1nUTfZ8nHgXCmJKsLVGTYh0gv_VyhFrsjprrGV4Sea7F24rFY1bPMHoA0ASXHAkFNIvtNmgKtPh1KTsvyev_4mPiF5OQrUxy6HCJzEEHajSvnZeiWkdqqCmoRYS1z-D1uzH3X5mGYQHArYiZx-f7LabTH8-kvjDrfX1Ev5ddMkZRSTpmqAeBKbR0gd3-coaU8pR6vlXf0lQyOSRKdWUmh9I1yPCZbHBbknytesSNENTEekEb5391k5LnJranALiXxKbF9ea9JOXpXOzjD1sFSTyKi-Xpf9Q-WdsjKK-dSQLbDxKX9MwoA4zlivbFVcbB2qFcURTrgwOqdUgOOebjcNSv7bKm8ULLWcDSJaAaH6bN20ZeQYpSaw8t6aBllJvqFKCnY6eugaD-3qtcWiIuB6rnziDeEv6afbPJXiOck--pz2-gExqHpmjBTYELl8eteLwjuJ79ye5KffOx8dpTzQCVIDczusMac5PXO6kGzRUNtoOEuG6-iHhnby_k01tOvkuEt7ZORq_Xho8M1NpururqarOz4sWxF2XDP2ydhdITs6DuFAWlAhm-sx47JldpUIs3CLA1qvoXj1dm4LDiDYVrS6ySsYwNwjtpfHDGTHOfEqbOQoxdDR4sfHDm3QEIgnxvnFqWJzAf11tWyPvTzotn2LbYswOsfwMQWNENoqblljGJVKuPHN9z-mH-gmLhxBYsQB-ADKiEma7ijY19g8cUigpa3pYGeNJE4Rg0m7a34ZxsBf7gIZTWDLfvkcRqWuq2lQ_bsRhn_7aKOIpgRqGQ3b1HV-2UOIgwDKw9IYzTHcWarUoAi3luITsUBu8Qgn_sgG6BikQJ41rU9mJLBOfwZu6W3ylFuLW9TqLZ0OaevzLvp_x6450zc_3GqpPnTSQ7bqgbMYmjedX57X6QiuKwEPgsk7tU8KLRFgyiZ9Vhf10zdD2p_Cr6RMrx2GBgfcM36c_J5h93H-rT7MfM73XYHvFpHT86enA2Sbxk9ih2fZ_5v_d5Luk8LQ6Jw4OyTlDcgscpzVhUicfkno-5-JVutFBvw0wdJgsjH-mAv369a9ErTzxAXRe13EdnQUXQUi3r4e5YfhiLsJdnYfR1s3FMchP7onINTbgTl1NQcmr3t9HHzQItpa70VOtf5gs8_J8xBzHcKOftemZoRKjyXnclvFacvCvQee0mCcEcR7eKH_0VtguJRDLRIhzZWCPkr3D5wSSiXAwvI00EncsddAWGH4TIGs0jkPeENG71eeHD68kzeqR6m2GFFe7O4Dz-XcUGtFV05hAOBZaIIUtAsW06kStSGoXlk1OktT0dy3bxzLYJnpiGIXiNh55xWUxQt2O_ujgq8uA1ybl8z-VbAu_3U6JRK7r-b-0gRiVXqmaNjju49A_n2x_J2DQHWW1K6hp_mXZ0aVuNJoeapUaPNsGXKieB5fftNtaHsLxZHEbtOjYTq7XSjtfoiQdNLfZO8ZpOUhR01SuRq0eUOVv24vhw54uSEcBhLwkoYIVYyfb8YqYOhijGjDnokItAguT6wo0yFaewk7_wYqhCHnxawKK5hDZXzYNVA3bH2E3mi-_gdDjVAzsk9j8eFrjP7j__n2JII2OiKEAg5TyH99Mvwb71pgB8G9vxDHFeB12Dsrc2e_2YzhhwRJr7pGQ3ob9RvPChc9HvxTRv1Ck3jv03AWlOncTTzEOMsn6Vxo4kXBpsDwjHj9D6tJjNpSCw9YrOX3ndu3hBums9S8TNGPlnhBBRIeyiVcE5ECdqAmaHmoVKEQXCiq-vRZP_RzMYDDJ72QiVfMfDZAkzq9w_piqLeYO1BqPT24PeIO0IKUfDy9y_1Loq15l_9_SkH6ZwVPUWn9iZsrsVQmNeJE6x3x1IstQ50hZA41dul7sVoajlchURIV3enjyXsnxcQuvFJN_sUBh7pxYYRwPHzRH7j_65Tw7GMSiHlV07I6emkAfuavjKmVZ761XoyKV11WDTPYFcVejcM8yCGsqOdnOc1mNepsFtqBauzMr_JrtdgT5jb0euGn_AfRlDu01bNZGQqCwSy32BZiNU1tdK3EL5Ut50gsuhdbnT6kj0xQxrMfabraph5Ku4IbY585uHdIi0B96acSJx7Y7S4o1lPVIKvrklYGxeLB9P6I4ymIHfwFKM828G-EnBl5mvhyINOzwOlJmGud9__IeEzr4J2_fWEOkwHADH39ax04Ft7E6j_9e3t4BYELwup2oKl-i1o5wdcw2ahhcrEfWSKxd7izZj1dTrfXcgKMPlvGGOd6FwOtYSVsI_GkX34oBipST-MW_K0IkaE6KTE4fr4AcZ-ydRQ0GhOFPCavlEgR3la6HH8-Re3Zmz7evLTHGNY03pHBj5ct45msd15_RQQfE7iResX5iz_sSP6bLEIP7g28tpCceiCYEUDaP1CDlBKRRoM_Rx5skV6qLgecGT50R5t7deLUwIXHUKFn-tODEwbdz0mK26C6PNu2JY636SRSekWwoPumLi19jdF7NlelizB6OoR1rYkdJszbYMpwGoNugrANoLxCEeaa9IJ_LOd_eogAbpT0l-AkiUwfNQL-I0F7YqUQjg_Oj9B1TDVUJ7sNFv_Zxiuap0ZTKpy_CZ7HhkKXpR95FQ-OVoixzWxBiRSGc1gq9rn-nCQa-nT7-UaGgLrUAYvwvtbrH2EQpNDMgMzZ-o5PLscHx1frYuYItb333-K85YWgSHqUXEaF7SorC58TCvWADIBy3-gRjkLnmFv8Y0GSIWBjhB5gk2i1WjmnI5RNvyJT9fen2TxA6ov6Ns9_aAICB7cnSXHbCW4_ihNMqoVvo9uiswEOYE0nrNfPvZHc0FkNjo8Ob_glC4Nju5-XBnh4-ImCGmprrOea5QSztF5AdFKX30XAVF6MljZhdThFObc147aG5SrXskWFhDhIHsyhF5Dqy5BBSrP-s0SKEzYroqbSL_M9c_hCDsahTkaL1uKfM00HfEEkAx-6cMba5Rrs_jvtWDtDxhAvEHFtcYQfARCr2kX3ZzZL6CDLgMLwFcf-xiMewQm3y1vlu-3sbSGIjV2mZP2mTlvynTzWLBXdLEAbOpuCiJyJq8lc6w7_eDH6i0jiSVilXOWKLB15vLkBUPsyKL_iD58Zi3gbFrmBvpZnBxcfvQwgQssk_mnOP2FK1KObMcEVdXEnEPfP64e9i9eQw43bbbINNbP_VmwCMJcUa387wY9C8RXsEyr06v6dV06cv48P3YpsXyNJsKExrpyyi1JptQA7N62psY6hi-x5jkLqvykU8u6fgxaiaC76da8fk4xv0MQBEZO3DOZ1Ag08nI7MKvyMcNLmfg1cTVQLYQ6b15wSfWqnCkcp9REm4RaOwlnMTmLoq81QuB81qJVhSYgjc1JWxNegoZa2Ghif9lHsK2FXLbSdHcbnqucY_KXeGveYL13Bb5FHuVCbajeR4Y9THlI1zHSLkUi4vY4X6rT0tAH7HZ69Tat-GPp7u6T6MMgIpxGASBb1hCbW9tX-Ao6TT34CVLqOTiramwn-Ijtry1vIMVm3xgVvp9xCqvVAKhQhGILgLLVVLKakfUSqSzEnW_MATYc1EsbUEniGIKX3tX_W4b0BVVM73KKAFwCqSYRngIl-HxKe1yxmvbEuUd2UngwQCiIU-Tix3u64Eqn6ivAn727-ZQ0kk3aASOoM3D1l-FlJtpn9pANwcnWYOoYYYkPw-qh4Co_AzSPpVPNiwEkT-jQaG-sbYbiTgPNv8gD2kZXOdDaOahpoQst1Fp1KGg8YQmMNvUsD0Z1wXKh0xs4sto=\",\"summary\":[]},{\"id\":\"msg_0214091b406d44b5006a8be433dde887d08c331887866c51ef\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"- Paris city proper: about 2.1 million residents (roughly 2.15 million around the 2020 census).\\n- Paris metropolitan area (Île-de-France): about 12.5 million residents.\\n\\nIf you want a precise number for a specific year or definition (city vs. metro), I can look that up.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "95bbf90ebc83a4c8",
    "trace_id": "a3797558e4c44b438f149657e76a50d3",
    "parent_span_id": "a0f64be4aeb8300c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552820.618649,
    "timestamp": 1787552831.00465,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0c41a8e569495c7e006a8be434b35887d085a6580e629d7911",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1810,
      "gen_ai.usage.total_tokens": 1891,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "The term “metropolitan area” can mean different things in France. Here are the common definitions and rough figures:\n\n- Paris urban area (aire urbaine): about 12 million people.\n- Île-de-France region (Greater Paris): roughly 12–13 million people.\n- Métropole du Grand Paris (the formal intermunicipal entity): about 7–8 million people.\n\nIf you tell me which definition you want (and the year, if you have a preference), I can give a precise figure.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0c41a8e569495c7e006a8be43500e087d0ad40b3ff672a3a4c\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Q-44Jm2oo5Cpcm542UIEDUFSLx_gD4rMzTwA9eTJq7x5WxkhQKb80uwdEFA15nkpisSBxKRAYwNkIrN--t83P-ciSczNoAF2tQeCHcqrr20IDniiQOqXVVNekwSCsSaKHP-43d8bCY1J6hdeWPhDFtcTAIDXgAwjZwWW4PIdn-C6NRDZu-v8O20M9KQLsZk55H7XlmZSzH4xPCGNSn6TNAB2GrtmXeBUKnpR1AkiV8LVuRowkxvB2-KjTpnHrpU-4NvzFLsAytZoZCO5WGTambBjXdldFBOtu-aFLE19Nbzbl4AiOoHktRJPz5GmU6jliIlr2Q36g5_7DNCujiRN7LKnT4-TTcG7PVhfsErVTB3X1HLYFtx8ojUgXszg4T3HPw_SJ8Ml1zBA3oAaC-LRNlYw2qcEHYN5ExLFetVsghSG8LtzWwv8pG5xMfkqtc9PVmqKopAstr-emW92uRLlaxOGR-JUVfEeb_kOV5ewG2zJqugCzgd2rJcX-SJevfTb6X1Z2KcBDMfSfI3qN907PDN7X-wMmcNqdub9HdQcvx0mcBm8PvVW0Vbjg359RHCCE7nG0ZKkAYKXhaMw3nPA_9OCCLGRlgeOyEl97q_1PK4EBgGatiIPc86VkOLNnXea2VZPutk3P9CWVp9QO25orLeOrt9Ww52RXojJurzRHIapXzxvamdbuch3JhUwH_yIVGTgA0ivvu8qrva6X2MTSA8fyu2z-yMd1Llv_RoJ81nO2y-WyOB2etweScY_T4slwSpcXWhNMiEUjWDQyiExboCo14ZlnpimevmRya9zebmZDLRdsxWwbuOgKQELBO0fYyAco3XvU7S2R3_GM5RdrZav5nKb-WXS3AYVu0-bqnGj6GHQl6iWoOQIUc32VmdCBfSHMLI3vF5L379SNniM2HAppzgv-5Q7bZrAqiE6zf0A_FVPHU2atoAoWkSjmLZ3BzYK_6CIyvkaA5IAiRyTLqjc78btOHYY6b2tT5XoBF6tYhR15EQacoLyPS4ecHmMAP4hkgSic2OuWLI1wZ8-FRcHTX1NDcu-wO3gbB-pLHkeuIyGHyPoZfsccV0Ys9lgeBvELYUiqgPT7GJv0iccEStZIBX_jTYXNch4Ue3m5YBpYwBk-3GbCpbzMBP_rWQcbIW9OH7U_lpuJW6QJuqUEksZ2WSjfuH6n8hLQ-8C19ptnL5IrsChjHSoh7tiCbn458WohauBtv3MdOrK-MAF_abhPaQegTvfskGeva2MUXePeIaaLQ5RnqMGxq-x8FqEDVKKGJrcOXBYJ3o_J475cZb6cfdnR5nDqpzWof-ta0HjwcAXo1Xu_jljfAbpnZTPayfTGQTZELYteF9M6rMOSVduSetfLsjCdJj8pKXYP4jV1mo_t-ap23aIGscyh442cvL27AC66_qnhyZck9TMM9LIeGumC5VvN9POsoYGCrFc2krzmllhqEm9U2pwpc3Y9wY0fgIw2MR2fqYjCUJQuaScMB5YzWz4VtUUygSWcZ6JK0xhHJwvxVj59lmVFD4DxWlYAC39XWc3KziAaYPnOIXh89CiJ6VTQa1dpmaIHHV01drZQTrobFAAuchUIVC-Eh-i33F16yzYtDzAvXuqDWWoTxyxJJgUptbignMdvr2UWfGQt7u_9hnxMPMPJ1YkWqGAEmCgS_aozZr5G3DbKHZIDvISDjtC7LsNfkoTPk11aUbIWyG6Dno-GQQoytRqYlxv9KkoqWD8v1clm_0pv_kDU7PsOtzD_0yagn9tUBn3L9McviMWllHTBZGUsEjgaiwHMptu-Lggi_13kuU6lJcz7xymPT7KMzaiHy2O5PdzAE3UbgQOWyoIKdMXDTQhqhTYUZ5h1c_9pUVwp7eAc93u0hxbl3RcDO7gPP04mT3nn_E0jeTeirWvLtFXvJXz4o2O9Oy4FMOrBRN4Hq8lQiwwsCPsxW_xWPS8XvCF1Rj-xQb0y0ZThFkESy1oPQoSrfYcbPtWWf8c3nZM-cZpI63yNlInPMoRY-JCJ__OmyiP-imYd5jq_aqeo-VEY1ht1I13QZct2PJWq0m0RNcO4UD-MQ1fVIbXubl7JZK5M8uK9kYXUyI_4z-gFHRBVXjKa6UwL460Q-NavvBUMkSSev5U4Qd8_MZ-0Mtp261yk2AhUAOcVLz3HAyf3uHZga0EziArNfO27vPK6Rxn5QITPwBk4ymvLx7BKhKSAHwRYCc3ryisYChGZbPZUUa8b2ZiKQLo5dXwN7pdwbchhenwySjMPudLUphQ8PMLb6vEBXQnh04CvdaBGogwxjyZIFX-WAzoqm9_Toe9N1gQjC5Tm45giZgmeNjg_87l8QSwSV-lpy4NUWa8-87-uJRkpsV1elDNPYnuLPGIcRrBEmPIDhaDtdaGeRrC3ysmkPv5946j6RKtKx-u28fg8zj8cRANJNMgiTWSCbwrkOtxiaRUpBfWwUYHI-xVdwMusYCXxJ79kuuzmAZ7uqibnos9YT14XtTDV4Bczz1BSXs2qOEr4Wp8Y0b_twmfaCRgZkI4WgTYHFGsuuRcFmdmu2U-wjzwgxIXreTaStiRJHY5G5vjs3u2Vvkugu3rENdQWX3U-BSp9HaQzHPCKUcr47PW48uysKY0YorkFo69wCzzrNdMfsJHV8I9w9ydg-bZGiuNHhzsMSDEmVqBiEYvmR2xhhYjvPCpQrEgpcx4UTnYFWJKvqiRFdDd0ko3iwaz8ow4L8rZjkEMugS8uTnIkXh4tMDB8q2tqtY0nKcA3ap9jJUewXgWMyq9jCeJoYzTrTE_febay3mDkdvxfSXmuuEnMEUtRtUoENb8N1p-_TNbTaruSrwW5v1h2CNJ779XuM6Ttg1o_992eeBqjeQ8x-53oXVmjsX5-cPlmCLDidOd1J_jS62nLzaHQuPiJjcc9sV9Q4NRJ-U7tFFDi1S4ChmdkTIn4bmUSH38oQxjdQYyqDVUs2LH5OnJS5DkKqi73YC8abFkkIs7MojKAYueoKeYIjTkqfq9zv79l5pCC8O92GdzFtEgA2Vgoxzw-izKjspmBDC7Xos-8nOXswQ8aA6IRIO9LvEQLq7azt4OmBjwEUxpcCZLrAPd17CBm_4Q8iXyTmfl2HSUfhTV8K3YsceXc3YNeEV_Lt_EUifSgq5uPn5gVb0C8aYgBG8zxoGF6tVG1GfFpJuVEQgIdwnKeFoxWRuCEJhhUVRO1I8PB9wdiKrjO1mlp_FSJpHZqvf2Fa7_3ftDCVQocqAK9V0eZKScZ7hbJAg6hkfyxAicy32G88NO0kxX1CrXhL38mCiysPCjr2vJhuf4-eaP5Ry8-dmRJ5rvgP-SAI_t7DMC-kslEmvRt0zmJ2AFmT_Os2EsEenGgYbmvhLz8Yd35EwCtugF6B3ZiyFGKf1DomCgvTDJYK3x182JCe7rE9iRn5OsDZ09cPksRzzVD6k-13L8AvVoTWLh6i0b_JWBocCe612kxv292uHHAL7dORJlt_K-F2rzekvo02BIVcItDx1vhW-6MD6gOHA6OHCmSu1l4qhD2GitkzANsgqxwr8jO-GeyILzDlvjzaibBODr_wF4hWShSVf9mUyO-wp7666bPzhXqW8MJ1FBFPI90tfCgY9HnIf6B8bsoCKptv45zcLaN6E75kUF32blLhXvrBB7QssxnaJQzWYlMxXuUNe3m6Y56zptR6EOzbIY14CnSbE7eMPATHpIO0l6zHC1ZKxqIoEtOREDXLMI53ZrzWrMVh9CN9faVoL0Eh9oIavRMEnzfH_6K7dprVXTzITeuptpDAIHdgMJPTsUOtBFtcPjTzc-B6G4rnOvoF0dqQ7hmA-itt2-SHYnknkiMJPPMrmX2qRmKcbrjOPcxsfFofDF63WV4PeX5uy2ZJD-xC2OLhQaIfpeo7Vn-2k5mm-UKh0KKbfdi_QwaVjsmxBkkcdvkfBxmwR5ZFfcut8n-nbzNZZvWsbVhHEDEt7yCQ0FRz3njp5IO1yvXlJ75SP27DqG7GBd81PD6BlfIBG_Ka9MrJ50kaIEJV65iw2oc2bd33LrElEtBqIerg2Csw1L5W-aBwgWV_lFzLpV_cnQ5a3zJbvi86KIbSLph7sGM-6dT0BsJvTXgvZDtZTFLVnKI5JRnT0rtkl_Ba56i6IwX77wmrdFg8IAyr73Ftm_fu9a2KHwHVcKg1DVT0K_FSiY_YhjFPdq0e6ZxccetN8XvtEsJYnDuhOuhNp2J2_1QL-9R0FQG24dob9grEJSRktnCeblBBLL3tEudOjiejmq7N2v491l1WtsLAypbXaNz34GhbEs329me1UgfAhDU8bjewkUb_pOmg6O2DXXo_rAeavay0_8Rx6Sk83ICIE55osExkRuPuNnWzwpw9ojyWgqg3SfvmjCaSXm1EcGTmu7vpHL1y2hdwwTuudwxmA1ufPi-Abx_fzJFNHEs24Y7KuNFBNabX-xvmGJDIj2ouUhrmSdWJKqEphQT63FcBqKScIq2yHnYh-tH57PBVuOqkeZoTbGJIqXJMlBvLL992yFL1fAXDQpa-BQ4JWPnl8r1PtQw4-bFAWDPjsVmhduGNpN3nkITBM-qy-12LH9Bvo082ysmjp3XyUsHwzxPup2m2C9ndd3LEjVFOVfz0rcJVCCI069TYX_hU-RDW0H9bFbiIwcjh3sYBOhTPqtzwS-0Gk-kKxxG0x9k-4aoiwSuJvqdfINMkP7PKup1kzW52OiERUumWCpwtGilDnlVrvwlQ1Aw8gFvs826Iionpc2VVUeq0qBpI6fW4TVqKk-EcqvKjakte7nVDVtt2ILFn_ddpLD0qpJjlkx9zHhREGZWbmht_0Ud41IDMN2GXLi7OKWdftSSuvwDRk8NSSCt1NppFZDTuIgHBNSZDg8JWIUSnx0jHZ_CHtBZbaREocniXqQNNpezl_U_EhQivbJHRZxm8dfXTG6ZMbhCanAQzOy9us-XASrqhZD8XbTGKbh3jNXWG9n80hiZJOM59c_GxMEb7TjMKefbp6jmiI7shiiWYEBPVY_mpOw5KYuu7P2qTk8PU-hQvUbMqyi0bLZ-hl8m-LRsXN4eu-lFW4lkrKPD-az6CPm1IrJv4tOj37FyMTHHdL0Tr4CtWkKXb6s-AiBN6DD1ZeLWv8Ee8uxQtypGni0JBDaH_Vz8R76s6pQgsg3UDR2MH2f_xt07BOp8MBdFnCYiGg8NK2yBnvGxnoLjJ0QC3R5ziqb8w0I6SfC0gUBloT-nmO0LXKnAtttIwjEwvendKjCK0yVyv61oDIJ1D9rVeP_5nWc3a1joy0K2PmRbwhvfjVF3DL4fbmSmYw15gDAhzr-2b1BLKMMQruSLSzO0P68sv4wZiZ4gNOKoWPVINHZBFPSCYXqajXlt6fjKGK_xc_K6ZygaoPPV2CM6Jgr3nmK37AtEzOD5aLsAedmTrE0eeRcmJaclrkItrKLSnEOe2657P4Md8j_pnaWGQS64jN6i1GIiTehUmsFBmHjWykKcVffPVUV511zvY829qPGUPzgJ0BkbAj4VYUqegQ5ll73U5COlf-SMFT8ptcUn7Q2B8mdscB7Uu-WVS2LqFxtwXDjLcLpj6LmnpC-rY6v90LwojutNOHGEK8v_gxpVr5whLM0Pi2VxrPkaHB2AagvQFW5O4vuVoK60offvbBz-PSjUSXFbfzovqVG_gq-qLVoR7zOD09_IQU2Mc2bSTqX3KuAUpvVlKB-0JYIHmNMkyaCrivB18HGMUQAjS4DLKzH5108r5vZB1onTiMigkUBIjDRZRAqupFkJboe9p1y6XUTohu4jGVvU7lu-J5Bl13Li9yQg5B2wNcy-KzcUwualwH7H690SJ23VUOZ0s1rEfLzS8a16snnzgtEybMrbOSo39p8SUNN5lSEH3G-LvwmuADQCN6os-tMbHFUL-ESNb4XwhhRID6EU7Su15U3Ty1dTX90G3Z6ZKVZAJENtRbw5n853MOr_H2olkYgovrN1oGhBZzgUs33dfhUYemTIqKrgx4juqdDvhLZ1RURfUTel7hRxhs48Xg5d1s0bdQVOwQnQN-rTOH18BKZTKm5rg-3FycpgTRHRe5xl9BXOsiSHVEj02axv2dJ1hfcYowt4oEHdcgXUH0DoPnAshR6Tt4o3gD214liUlEZ501m3csBVeH2grNdceYyTRTzNDEjl-SMuIsMyY0apiR5KwOqTj8zAiTVbaF1ALW_L2jKuU70Ac3sA1AWbU0BXuVfKBmvFHB2GVym7RehVbEqyLy1WNC4mnhKy5DpPvo_v6YNSR60WG2dkpFUxp4H6-hFNxXGTK5hgfDsX1_quxFd13q5uKMY23CknAGmFJZoTGrlalBO0sQOJivsVcvdfrY2-RBSNf2NEOitvqqTmtpDTj6ETtgusRHXC90Gcu7ccqbbLSUnI90IZ1g-AteOqo2ghJXzGl7D9m3tOaMhG-MrhocC_vG0lMl1qBfjdMTUJhEcA9Q8m4QZ0arKvixeQq-fDt0OubQlpp_NsXT6XR5FT1Kou-7aDGUZ7P6ibbjVBLddjyOlGqE2OvjMXYKgvfouWBi8nYHatsJ7kG6Un394Gu7wrVYyTV8Q0SHq7pi8HZBgZV08jxCx3vNn25VcRXwPqJKpMFfDTXNLOFpOzzTH6v4KFHWX8HK3yZs_HrsdWiWXiMQu7o55YdMtV-xAX4nSFszgN2JrH_tavdR4szE84xk8Y9TxA4a5uVJKgcIsIUB6uGqb9hxzwn3rpHmhFJO2dqcCdL8XowiJtPPBq5fa-452tG9XULseJ1PVPKXBwY17ZQaiDAn2j7OZypz8EvXpBqXtPXhKArJf2Asav2xq8Bp4L-B4KKn0vtL2S1puFfyxm4d_2_fdyl3GzqaNSP2l8kbfzUy3GmZXxNF-1iH7Rss3sp0U6repWrPVFZQR8NpzK1DXBGMKpkN8jbmIntUTOkYykBQnHjhpmvdlWkZTLIrmTxfTwNUegNFSS2me7XSmHRFed3ysjqBH2non8ks3MDdxH17QcqeJmTJ1exSTvMKhaiKkwv-OT6lzU3Vl7JPYT3iWZHdfrcRGe-dz5r1ou-gv3jyMmhnV7oRXCqwKys2dQYG1-O_BGDhq_s0b3hQh2PFZoIc6OP7_Tsq_Z-Bj5chNf1zCjyhOb--xyaU6wL6FkOM3_0QulPgExVszeVqu7mUm4VQFQG33FytGXeHZaVEendHyX0hJVUXYakD0C0b4Xvm1ni876DgGYZ7hDmnG7ZJra90GkTO39HobJ4G5l9H3BBY9f3Vb2BCKOjOxzRl0GtdzluPElrLhoAjqSWzg-457n2gAWIvKPNGm9x6sR4tbZDJ4FgBSAlZ8uZ1lqbLq9KFTvICwqBrIyZrEiqVCZES0LQhnMb2qPTxEuyaDzVPP1fcfrutL2d6jMtc5337eCkenyDOvkzHW__tOAs-75frhFN0H4rNZz4w9XNEFjGS9vy8jlWu_M1qe3Ek0t7lEzKrL0nip6xYDHkG3SJwjLtsB8GRBVNIpMHCYIL-_xqD8jDAKRuQbcEPsQKlA1VgaQcyKLz3CF5cjcNwnJU4OFswebApF5gqpI2xBYO2SYfZCT_kf0y7fm_mArrUIbWdXCve3l8wvrfsmiYMgEQrlIwvMEoIGzMz1cCMH3PmH5EXgUBvbKOzs9RxJr-IczMm4jWBqYRVntxE_n6CTidBu7Eadfni7m1lmtt1t39FmStoK7vOCAiWsLtdkHsZd_3iWdPgnk4-PlBpMOhZ4mpYebzMUxsrXDbxgky4pB4Zs2G8OdiPNTRAsO3cwVU8MU761QsxxWLhuit-sKaRk2BPxQWnGkiFWeHywAaDvcntTuB7n9OioGa9tsYcI9yK1lphbMOAXwIh0XLMqKgvsDyKM9relXP2nk8XwS2n2Bj21etXMewg85BDDzHxwL-qdsk-L1XDrfxpgx4W68X9YEQGnBKvhAnbydskPT0dkdLYB-17mpug2h-YmsKY1vtXJ5jc86Qrp1pQ76LBjR-EphEwtKxwC_m38eMufgue5W-SCN6BYp_54BuhJTp7MXPu18Zm-uzFMx5CiUl4qy3tkyLi3W66Hr4dUtAq3sdK3A0qaMKsBcakZ8PaHcqWI5xHBdIlYnGSiKRs-Zhr3FCl90BY9gNhKixkdQ35ftUF_jPsiRTd0DSVlYaEBigSqfbmDK1iytCMPymrb2mtqBzYQWyl90NOQrbY_CYje3VdBwIBjLWHQeMjldgtzjQw8hJTHkx1zpDU3h4vpJllUj3OFtZDS4BkLOXt4L7zCOVDQxW0OL3y092idxY9lwUAS9Z567fVPMxzz2P5uAOcSguWe1aWA0ewNh7dfpIr34Gd4akkXX-RddnuV_qdZWSuo0AV2A3QH8ct1yp-1LURBwFqbcw_qAwc7_RkX4fdmT-slaUH0uPnGbgIOoS4M3JvqdZQEIAw7EBlyaFFUQRWPZ7kJg4WxerrIGsb896Vue2abtb87dNb3JKQgLB5idciz6uvfDOD-EZushBF9w6mfr0JuwG_sGACKLDShek-dpYkywUCXrvJnPMeFp2zaPy9SwHFw-P_Ojs849Uoa4FIqyJ_cCzLmc11dEWVQvo1pKA2U4DhSBTpkwKrjMjY-_3XemQd5EZ8u39FqOH2AGgm3laoIeMfL1Xm5rFjZvOVt-BSwzkhd4uICCxzfPwXVjKCQd0hgM2Umm-0bt1ouk8sGaLc9OPoYWX01sOz6boCtMHIqvpHbOKpcKxylUfklqvs0ivqcN37B25NbjImn5ulaS-9070vlNwmYH_yVNobuKhnuCd2lOibJ3ParB46iT-o2d54kteDqrgn5oZpEO97wCT7kNYp9xaS_TW6R0KGDxIwVfwk34v3TO8i5gukvEfxtadH_ce8Me1YS6gJx-g3-zVVeL8p_fs7dJiO5z54Hc4w6YjhDZPTsWEnL1B1rGZ5120wjNYJIOz_3YtWPtHuMJoQF7v0DAmrJqHOvUBKq6riglRBnDz9UZJ9M_m_G9NdofFzwym5dQEWxSSsAV7OvsIMyLArqlbd5HhmivEUEAtll-P4T6nk-H1V_AQle6RP3RKTHb7GHofB95Q0FjpD-itFyftfv09XVBmfs1xqCwChNR1RCHAmFwFT_o4f8i4i8vrufJAQ7B9RXGZkN4LUYDsXocibNNGdWok9y1hVAiz8zH1tsPb8o9JAgJcua6UlE0WO_8fZcvqEzIjtm89t2guTN4HrKXI7DPAqj9gJSD_n-pOnCmbRBgTpFBvfqChfqmv3x6l0-pN-2-vMJRf5Z_noKu1-54-OxVFbJyLMug_HrAdEnIzRg0YtQ0m99r4pW1plt9kUkK92hEfp_YzvyifVo7kWRUR4gYAPGHA_URfoYM6R9L4STCIUAhN6wyWXvYfIQjo8clF800ezC3YPUzYahNIYJH2sG-zErOZzzdWrbt1fdXqTz7x4KZlUL5zdZF5-XpufD56QfFvclqG1GKD9Sj9wITvc2nseM1d6V9ucB82zn7W4PEw4CDv32eVCranfWIOllDbMgsN0cEWnMSmq54bSiJKIDnEBRFvj5_84uibaQlpNKVEpZ3T2eMfexCwXQYvkmUVt5x6OYE5JHAhkJMLhsijcB5z-PCTIVp4XAMFtMu6FnwOysqKybNvd7y6XuvMA69E306dhmR90fIxFUTujFInJujjuBgGdlA2hybanaaOvhKL4eiIdHiB3DTmZSDBBVqW8KCIlcwFrhZPtFOz3GFGXrWzAyYWV1feOJ4ptLqgiFwHNh09l2LoLS6gUVgrV7NdD78eCfGXRRzPhIJVJYK31rScUgye0fnpEuQuuSFYGCO9XWclsuD9hrcc4kpu0fv98R3gkKgB-_c9EB5UrSG0HU_KTDHhZt9zs6WXN13FXcpB1HkRTel_UeKwnTkO-LGhJvwRM23zitdqzaYbWEuixEwoyQWOsJm9f251-i3IICw1z4NBg79GqqgkHBfiQR01Cm6F1dNy_X2GASgbOYGNU9TdmFAuzrovqhPo4PwNVEb84teYuWdeDCBZwICIvMP6g0vk3i21U00Jz1Y6e6BnFvGxU9DemVBdYsRnc_OfVOOKhOCKGQB7BqnwT0XAXFQdk7HMrsbt8JQn6h5vn8WbMJx0rY7nKm1wYU3YSaHe-kTGvesry-lrnK5y_y3UURym6UcZCNed9bXAGadylT3jtPq1zuuE05Ajm8DYV2RTvTmsqZonehkHj2W_QuY=\",\"summary\":[]},{\"id\":\"msg_0c41a8e569495c7e006a8be43e259887d0aa53abfb04dd8733\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"The term “metropolitan area” can mean different things in France. Here are the common definitions and rough figures:\\n\\n- Paris urban area (aire urbaine): about 12 million people.\\n- Île-de-France region (Greater Paris): roughly 12–13 million people.\\n- Métropole du Grand Paris (the formal intermunicipal entity): about 7–8 million people.\\n\\nIf you tell me which definition you want (and the year, if you have a preference), I can give a precise figure.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Multi-Turn LLM Test (blocking, chat)❗︎ 116962ms
checkAISpanCount(3)
checkChatSpanAttributes
952ab01agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
952ab01agen_ai.output.messagesMissing output messages attribute
953ab258gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
953ab258gen_ai.output.messagesMissing output messages attribute
ae3e67b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae3e67b4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "952ab01aa731421b",
    "span_id": "866bd4c3b1bb77f5",
    "start_timestamp": 1787552813.3622017,
    "status": "ok",
    "timestamp": 1787552814.734646,
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "953ab258acc30df1",
    "span_id": "adc26778da2e07b2",
    "start_timestamp": 1787552814.7389555,
    "status": "ok",
    "timestamp": 1787552820.7833602,
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "ae3e67b490e388b8",
    "span_id": "be7e8abee7d714fb",
    "start_timestamp": 1787552820.7851303,
    "status": "ok",
    "timestamp": 1787552828.6644833,
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bbf40ff1a3f8c51b",
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552813.3403106,
    "timestamp": 1787552828.6652927,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "952ab01aa731421b",
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "parent_span_id": "bbf40ff1a3f8c51b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.342169,
    "timestamp": 1787552814.7368467,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQv94rWCp0v7Lt3g2tdXVYVwAsP",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "953ab258acc30df1",
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "parent_span_id": "bbf40ff1a3f8c51b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552814.7375896,
    "timestamp": 1787552820.784066,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIQwAi2GwIipQQqL0YfOEaFmXGyD",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1120,
      "gen_ai.usage.total_tokens": 1168,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Do you mean:\\n- Paris city proper (the commune of Paris): about 2.16 million people (as of 2020).\\n- Paris urban area (the contiguous built-up area around Paris): about 11 million.\\n- Paris metropolitan area / Île-de-France: about 12–13 million.\\n\\nNumbers vary by definition and year. If you tell me which metric and year you want, I can give a precise figure.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae3e67b490e388b8",
    "trace_id": "4440cba2b0c042a6b92cba361a307a5e",
    "parent_span_id": "bbf40ff1a3f8c51b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552820.7844357,
    "timestamp": 1787552828.6651237,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "chatcmpl-EGIR3gmPqDSsM9neMyVGa5QNK6rDz",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1425,
      "gen_ai.usage.total_tokens": 1506,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The Paris metropolitan area (the urban area around Paris, or “aire urbaine”) has about 12 million inhabitants. \\n\\nNote: figures vary by definition. The Île-de-France region (the wider metropolitan region around Paris) is also around 12–13 million people. If you want, I can specify based on a particular definition or year.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Multi-Turn LLM Test (blocking, responses)❗︎ 117009ms
checkAISpanCount(3)
checkChatSpanAttributes
b1ad4143gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1ad4143gen_ai.output.messagesMissing output messages attribute
b1593808gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1593808gen_ai.output.messagesMissing output messages attribute
8cdd6f5dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8cdd6f5dgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "b1ad414336d87757",
    "span_id": "b331357bdf0ab285",
    "start_timestamp": 1787552813.9024062,
    "status": "ok",
    "timestamp": 1787552815.6738303,
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "b15938087ec36dd9",
    "span_id": "9c33b98d4e3d215f",
    "start_timestamp": 1787552815.6906295,
    "status": "ok",
    "timestamp": 1787552821.0396614,
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "8cdd6f5dc1e7177e",
    "span_id": "9d8c1fad798ed1a3",
    "start_timestamp": 1787552821.0416923,
    "status": "ok",
    "timestamp": 1787552829.8481593,
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "origin": "auto.http.client"
  },
  {
    "span_id": "aa1d61c1c70016cc",
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "op": "test",
    "description": "multi-turn-llm-test",
    "start_timestamp": 1787552813.8883934,
    "timestamp": 1787552829.8495595,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b1ad414336d87757",
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "parent_span_id": "aa1d61c1c70016cc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552813.889595,
    "timestamp": 1787552815.6855655,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_027f161d9dd8450c006a8be42e21a487d0a8a1476c65fe0fcc",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 145,
      "gen_ai.usage.total_tokens": 168,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b15938087ec36dd9",
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "parent_span_id": "aa1d61c1c70016cc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552815.688829,
    "timestamp": 1787552821.0405688,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_05c7d368ea3dc554006a8be42fc4c487d0ba691488913208cc",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1049,
      "gen_ai.usage.total_tokens": 1097,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "There are several ways to count it:\n\n- Paris (city proper, the commune): about 2.1 million inhabitants.\n- Paris metropolitan area (Île-de-France region): about 12 million inhabitants.\n- Paris urban area (continuous built-up area): around 11 million inhabitants.\n\nIf you tell me which definition and what year you want, I can give a precise figure."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8cdd6f5dc1e7177e",
    "trace_id": "d4fb6b175a684291a741e40f7097a0f7",
    "parent_span_id": "aa1d61c1c70016cc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552821.040937,
    "timestamp": 1787552829.8493326,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What is the population of that city?\"},{\"role\":\"assistant\",\"content\":\"Paris has a population of approximately 2.2 million people in the city proper.\"},{\"role\":\"user\",\"content\":\"What about the metropolitan area?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 5,
      "gen_ai.response.id": "resp_0d6a811d4d403868006a8be4351df087d09376da813fa8cb79",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1617,
      "gen_ai.usage.total_tokens": 1698,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "If you mean the broader Paris metropolitan area, population figures vary by definition:\n\n- Paris urban area (aire urbaine): about 12 million people.\n- Île-de-France region (the wider metropolitan region around Paris): roughly 12.5–13 million people (as of recent estimates).\n- Métropole du Grand Paris (administrative/metropolitan entity): about 7 million people.\n\nIf you have a specific definition or year in mind, I can give a precise figure."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Vision LLM Test (streaming, chat)❗︎ 1 11687ms
checkChatSpanAttributes
a3ab764cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a3ab764cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a3ab764cgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
a3ab764cgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a3ab764cca8c87e3",
    "span_id": "8c7e201ecd6dfbfd",
    "start_timestamp": 1787552816.0838482,
    "status": "ok",
    "timestamp": 1787552816.6529124,
    "trace_id": "416c0140d1f947c7add0f96efec71deb",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a9fc87748b34bf04",
    "trace_id": "416c0140d1f947c7add0f96efec71deb",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552816.0682793,
    "timestamp": 1787552816.6574867,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a3ab764cca8c87e3",
    "trace_id": "416c0140d1f947c7add0f96efec71deb",
    "parent_span_id": "a9fc87748b34bf04",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552816.069469,
    "timestamp": 1787552816.656673,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQyheJEbRUNKqAW4SpHJu1314Bc",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Vision LLM Test (streaming, responses)❗︎ 1 12038ms
checkChatSpanAttributes
9fce3e8fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9fce3e8fgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9fce3e8fgen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9fce3e8fgen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "9fce3e8f98c66b09",
    "span_id": "b9cbdb1f8df36556",
    "start_timestamp": 1787552816.1340022,
    "status": "ok",
    "timestamp": 1787552817.0880694,
    "trace_id": "8f8f264e37704277a9aa45ec849d03d7",
    "origin": "auto.http.client"
  },
  {
    "span_id": "9716435e7a5aad0a",
    "trace_id": "8f8f264e37704277a9aa45ec849d03d7",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552816.1218832,
    "timestamp": 1787552817.0902538,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9fce3e8f98c66b09",
    "trace_id": "8f8f264e37704277a9aa45ec849d03d7",
    "parent_span_id": "9716435e7a5aad0a",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552816.1229494,
    "timestamp": 1787552817.0897303,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0cd9b825ee710976006a8be4303f9487d09a2b72d675d9ce60",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Red",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_0cd9b825ee710976006a8be430d16087d0b37082113b76bbb2\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Red\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Vision LLM Test (blocking, chat)❗︎ 1 11559ms
checkChatSpanAttributes
aa71b051gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa71b051gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
aa71b051gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
aa71b051gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "aa71b051d952331f",
    "span_id": "8b5a91eee50b20a1",
    "start_timestamp": 1787552816.6913877,
    "status": "ok",
    "timestamp": 1787552817.2262452,
    "trace_id": "71aa9ba0aa7144568a9fcf0f9a56e845",
    "origin": "auto.http.client"
  },
  {
    "span_id": "844a5eb93f3bde1b",
    "trace_id": "71aa9ba0aa7144568a9fcf0f9a56e845",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552816.6761277,
    "timestamp": 1787552817.2293963,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "aa71b051d952331f",
    "trace_id": "71aa9ba0aa7144568a9fcf0f9a56e845",
    "parent_span_id": "844a5eb93f3bde1b",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552816.6787198,
    "timestamp": 1787552817.2288404,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIQygVfQuw5330pJ2Vb9q99k4BCZ",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Red\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Vision LLM Test (blocking, responses)❗︎ 1 11839ms
checkChatSpanAttributes
9ff510c4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9ff510c4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9ff510c4gen_ai.input.messagesMessages should not contain raw base64 data (should be redacted)
9ff510c4gen_ai.input.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "9ff510c490fd0fd5",
    "span_id": "b1e9348acf1f760b",
    "start_timestamp": 1787552816.89482,
    "status": "ok",
    "timestamp": 1787552817.7014732,
    "trace_id": "ed0c0b4c3c52458daf7a70c601e521da",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b66341d8e6f6c789",
    "trace_id": "ed0c0b4c3c52458daf7a70c601e521da",
    "op": "test",
    "description": "vision-llm-test",
    "start_timestamp": 1787552816.8831272,
    "timestamp": 1787552817.7041674,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "9ff510c490fd0fd5",
    "trace_id": "ed0c0b4c3c52458daf7a70c601e521da",
    "parent_span_id": "b66341d8e6f6c789",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552816.8841033,
    "timestamp": 1787552817.7036588,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"What color is this image? Reply with just the color name.\"},{\"type\":\"input_image\",\"image_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_031e1572991f56ec006a8be43105fc87d09f13c6a08da10bd4",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Red"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Long Input LLM Test (streaming, chat)❗︎ 11500ms
checkChatSpanAttributes
92153105gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
92153105gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "921531058d9304cd",
    "span_id": "8670d71150add876",
    "start_timestamp": 1787552817.622902,
    "status": "ok",
    "timestamp": 1787552818.161449,
    "trace_id": "8dd15a89d2b84c50a731174b2e3c282b",
    "origin": "auto.http.client"
  },
  {
    "span_id": "b4f164dd95a512cb",
    "trace_id": "8dd15a89d2b84c50a731174b2e3c282b",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552817.6107867,
    "timestamp": 1787552818.1639125,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "921531058d9304cd",
    "trace_id": "8dd15a89d2b84c50a731174b2e3c282b",
    "parent_span_id": "b4f164dd95a512cb",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552817.6119742,
    "timestamp": 1787552818.163253,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIQz7MH0oqwNJzjoBf5AXS4Ffogp",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "This message is a test that will be repeatedly used to generate a lengthy input."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Long Input LLM Test (streaming, responses)❗︎ 12193ms
checkChatSpanAttributes
937ae0c9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
937ae0c9gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(1 span) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "937ae0c9646ada85",
    "span_id": "8f6e81842e1d44d7",
    "start_timestamp": 1787552818.1345708,
    "status": "ok",
    "timestamp": 1787552819.2821033,
    "trace_id": "344a15ee70aa45c3a0fb69175d80a6ba",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a59210cf48aad388",
    "trace_id": "344a15ee70aa45c3a0fb69175d80a6ba",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552818.1224205,
    "timestamp": 1787552819.2842956,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "937ae0c9646ada85",
    "trace_id": "344a15ee70aa45c3a0fb69175d80a6ba",
    "parent_span_id": "a59210cf48aad388",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552818.1235182,
    "timestamp": 1787552819.2837744,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.request.stream": true,
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0a2c1dca2440e4d6006a8be432503887d08dc619ddff3e0ead",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "This is a repeated test message intended to form a long input.",
      "gen_ai.response.tool_calls": "[{\"id\":\"msg_0a2c1dca2440e4d6006a8be432db8087d08115e39676bad6b4\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"This is a repeated test message intended to form a long input.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Long Input LLM Test (blocking, chat)❗︎ 11706ms
checkChatSpanAttributes
a23eabe9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a23eabe9gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a23eabe98b1ec057",
    "span_id": "be788f6096e952a6",
    "start_timestamp": 1787552818.2995865,
    "status": "ok",
    "timestamp": 1787552818.9166064,
    "trace_id": "f776f6b79b2847f78b950acac9ff4eb7",
    "origin": "auto.http.client"
  },
  {
    "span_id": "88ad736ea49092ff",
    "trace_id": "f776f6b79b2847f78b950acac9ff4eb7",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552818.2857313,
    "timestamp": 1787552818.9212315,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a23eabe98b1ec057",
    "trace_id": "f776f6b79b2847f78b950acac9ff4eb7",
    "parent_span_id": "88ad736ea49092ff",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552818.2871635,
    "timestamp": 1787552818.9203856,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIR0m1l2gs9TQSuB0kfhlleEvJS6",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5446,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"This message is a test that will be repeated multiple times to produce a long input.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Long Input LLM Test (blocking, responses)❗︎ 12174ms
checkChatSpanAttributes
95903442gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95903442gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "95903442cdbd5fa2",
    "span_id": "ac5c0437b94301b7",
    "start_timestamp": 1787552818.7383342,
    "status": "ok",
    "timestamp": 1787552819.8667603,
    "trace_id": "457b29125f6b4920a7137a44023e48f1",
    "origin": "auto.http.client"
  },
  {
    "span_id": "a62f267df3d798f0",
    "trace_id": "457b29125f6b4920a7137a44023e48f1",
    "op": "test",
    "description": "long-input-llm-test",
    "start_timestamp": 1787552818.716546,
    "timestamp": 1787552819.8709478,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "95903442cdbd5fa2",
    "trace_id": "457b29125f6b4920a7137a44023e48f1",
    "parent_span_id": "a62f267df3d798f0",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552818.7183166,
    "timestamp": 1787552819.87004,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_0276b557aaa9bb53006a8be432dc6087d0b9a028348a82741b",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 5448,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "This message repeatedly emphasizes that it is a test message designed to generate a very long input."
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Conversation ID LLM Test (streaming, chat)❗︎ 18434ms
checkAISpanCount(4)
checkChatSpanAttributes
a23db585gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a23db585gen_ai.output.messagesMissing output messages attribute
aa3b7feagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa3b7feagen_ai.output.messagesMissing output messages attribute
b2ec9771gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b2ec9771gen_ai.output.messagesMissing output messages attribute
8f9f93cegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8f9f93cegen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "a23db58562b9dfc6",
    "span_id": "b00b7f0d7b2b3804",
    "start_timestamp": 1787552819.0108418,
    "status": "ok",
    "timestamp": 1787552820.2354035,
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "aa3b7feaf643384c",
    "span_id": "b571fdf7815f617d",
    "start_timestamp": 1787552820.2403777,
    "status": "ok",
    "timestamp": 1787552823.4768064,
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b2ec977184865e89",
    "span_id": "8478cb80951f23dc",
    "start_timestamp": 1787552823.478289,
    "status": "ok",
    "timestamp": 1787552824.7528493,
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "8f9f93ce7d93b3ab",
    "span_id": "aa3f65f7fe332e39",
    "start_timestamp": 1787552824.7542503,
    "status": "ok",
    "timestamp": 1787552826.3599045,
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "origin": "auto.http.client"
  },
  {
    "span_id": "bdd4c75aeb2a500e",
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552818.9978826,
    "timestamp": 1787552826.360425,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "a23db58562b9dfc6",
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "parent_span_id": "bdd4c75aeb2a500e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552818.9993136,
    "timestamp": 1787552820.2380457,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIR1R92gT4fCXLWZhgp4ni1G7AMC",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.total_tokens": 167,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "The capital of France is Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aa3b7feaf643384c",
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "parent_span_id": "bdd4c75aeb2a500e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552820.2391326,
    "timestamp": 1787552823.477185,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIR2EZtTFsnXwaF9ZnAzRkeFZtQf",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 497,
      "gen_ai.usage.total_tokens": 521,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "4. In base-10 arithmetic, 2 + 2 equals 4. (For reference, in binary: 10 + 10 = 100, which is 4 in decimal.)"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b2ec977184865e89",
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "parent_span_id": "bdd4c75aeb2a500e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552823.477551,
    "timestamp": 1787552824.7532494,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIR5MSfyaqWNRqfuRFRkxqYwLRru",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 161,
      "gen_ai.usage.total_tokens": 205,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin. If you’d like more details about Berlin or Germany, I can help with that."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8f9f93ce7d93b3ab",
    "trace_id": "ae48ab6cb9d9498b953e36b3aca1c5d5",
    "parent_span_id": "bdd4c75aeb2a500e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552824.7535744,
    "timestamp": 1787552826.3602104,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "chatcmpl-EGIR6Y4wXLybw7fet8NFCk8oxNeRh",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 237,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "3 + 3 = 6.\n\nReason: adding two groups of 3 gives a total of 6. (Also equal to 2 × 3 = 6.)"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Conversation ID LLM Test (streaming, responses)❗︎ 17784ms
checkAISpanCount(4)
checkChatSpanAttributes
96bdcbfcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
96bdcbfcgen_ai.output.messagesMissing output messages attribute
a23964fbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a23964fbgen_ai.output.messagesMissing output messages attribute
ae6e7124gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae6e7124gen_ai.output.messagesMissing output messages attribute
82054a5fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82054a5fgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.response.tool_calls(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.tool_calls" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(4 spans)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "96bdcbfc3616da71",
    "span_id": "8a2b69de713fc40f",
    "start_timestamp": 1787552819.1871455,
    "status": "ok",
    "timestamp": 1787552820.6808245,
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a23964fb6d50e4e4",
    "span_id": "8b90d8cc6886d26f",
    "start_timestamp": 1787552820.6845767,
    "status": "ok",
    "timestamp": 1787552822.1401029,
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "ae6e71249ac655e9",
    "span_id": "8ee284f171232009",
    "start_timestamp": 1787552822.1417134,
    "status": "ok",
    "timestamp": 1787552823.8932045,
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "82054a5f1caa3774",
    "span_id": "a6f83a40c4a66c90",
    "start_timestamp": 1787552823.8951979,
    "status": "ok",
    "timestamp": 1787552825.9516478,
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "origin": "auto.http.client"
  },
  {
    "span_id": "8f63244c0642a944",
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552819.175348,
    "timestamp": 1787552825.9524798,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "96bdcbfc3616da71",
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "parent_span_id": "8f63244c0642a944",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552819.176521,
    "timestamp": 1787552820.6827016,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_08dbb160a0be049b006a8be4334d5087d0b13c49786963688e",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 133,
      "gen_ai.usage.total_tokens": 156,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "Paris.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_08dbb160a0be049b006a8be433bb8887d0a244f15783685b96\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Q0Po6cYhNpvlvFF_P7jDJcHS49lHz9dFQ01V24rdYB2ZOUKs189WTHjzxtDLl8DfGnRrKYRY2sfjMTPH1O_wz5Eo-z4gw5yNoLWCkOXHqLDl3XI4B7OQ0fYmdxj-MW44iGH9AVvxpg9cpMidm1vfHq7Q43uvw_eUW5umqepWwSA_5TkuEulakzKlKjL0TfcqGa6IyTZ1SQYlHB8BWSSa9IAgFms1mvw4sDjrvh3Tt-d2UC16XY2Re7b9kQw_kI_ZpvGt2V7FbroJyJRfZ_GHa8HpRJDQPknPS0bo24RgHaZBLReUbUEG6fChZclb8_hPYJ-iJOr6Y1wVFf1_VnHQ7ey3RRGNLKgTtDhYUES9UepuodXL9XeD8ahC8GAFxO-qDujEmQgyspxLzczIaFaIdzqDBnfxG6jaW9_krtCStP497988kAxdoi-fRTMGDl5m1T3xqeCrzWn551aAlRwsk5kgI1XMykX0QknglOkdZkZmyf0VmbKxLzoWU-bDhmGxkH6US_9URwzVPoz57vGuueMKzsxXliKCIDJSP_jreRdGWyXwxnVuSt2ffZx4Rut5G4HhuWqBTw4uXvcJqR85dYmcTQemin8pLG6v95vsCQGSERPzjO8ZOH9DaQ3W5MfefSEluR0nUBzo6MZpilkEmbD9Th4MD-dl7kK9W0bDdXGxfILa_UvQsNhYvicpXq0AM-wv5IxPn2oLJJqy_K_bZ-V38-87d9iLMGnI8i67t1tG__KbIefq4ffq_P8zxiQknuWbcny6Yp4QEeZoWeqQyVz7pK1svqTwe2d2lDBHh5WRI9udogkfkOBlvcb8BX5W-W8nTRHBKA2ZTgSTZDcOh0AvRzEHVri4bIWFwy83OgHCDH43Q8w1zoeBR7LxZ9FfZjvgtvIwEH85dLQHizlK09Hah8yvVot3aNLuFrCEYzSGqlFC4fFghLZs7Qnk3_VWMlndkxlku2wUHZ-zh49lmY29U9oGvF6ys9vKlYs7r-3ZLkFYJLjB2s_7xxyvATjlSqRF-wHeghb8QqaWZKySX3wUPsGVB6GCXo6HJzCtvYMl2uS-1ps0R1LI9tCPwNDvCTuJxkLulKAsscQD82T4aFT65iGtEnshiCVk8bf0wgDmBypRlfPmNeVbFY8KjsmjklJaMMm-ssqkmFX3Itdk_L-9rqV2JKwu5zJLX0JMtZQa-mibeycd31nNUMgP_3jGaMqfZQSuQ4UcF2zLpX5ndm1nL1hwa2WZFfcVzW1TJDK0qIPOn8gdlNRhK2T14M6D6aCfBEZrU4ZzGmvLWzsO42Z3z5BYn_DPBGkIgUlFzhsk9k03MMnT-WxW7MyD6BUMIL_RnmSF6xCzi2z3tGOCQ8w1qjbp8113i0jNSsE8UcBf8Dt4ZjtaHa0Mucq6TDW7uvZYXcip3rRllJWRY3KLKhvcSYrWy14yeVtV7nDnROEbZkiMgbPiU0PrXLgPmpyveo7ez8p_mmhcFG8FWGnwx8_iNf3gI9mzEOmLnW07Oa7Bd_jOEbh0-ss7gdxh5aJZPMsKvtmuJ2kQjWBO19o6ZXmun9nH446ZPaFxtbshTPoY_hXA1izSmYqdfvjAw0drrcUzFk0IBlh4K_F42j1JDzpnqQOMa2_uDjgP2xQniFpNvPENgzWtlBgki1ZVTC24P8FzkEis_fhCrdZqf1Ka8Gt2gh3ihCr9EnIAKoWaV0DdqP_rhUjhVLLGsbmW-awnG4opZSoGit2vFZ8K3qmercgaaFfMQIDpmhwyD-QDYpmPZSW1xWLPfCBz34dsVAiaspV74u257WH5wgGCYwymX4I5L7WLJBXpNdB3tJ9VcHu1UJGF-QSAmB9SEDLbXrk24XhUnH6uLjPzLk4EEaW0Iy-0fCgWSg7DXXMarduQL5f5XfoFSgtIzhuyPBS-Xc7YGjgMR4svxif5UflsqZs7IpubZQaJy10UdGjVvO9qQnzMg=\",\"summary\":[]},{\"id\":\"msg_08dbb160a0be049b006a8be43449d887d08c4d5cb9e2ad3a51\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"Paris.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a23964fb6d50e4e4",
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "parent_span_id": "8f63244c0642a944",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552820.683464,
    "timestamp": 1787552822.1404965,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0e59440a65b47afb006a8be434c1c887d0a37f7c06943740a1",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 221,
      "gen_ai.usage.total_tokens": 245,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "4\n\nWant a quick explanation or more practice problems?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0e59440a65b47afb006a8be435125487d08c99efdf1b7cc852\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Q1gSvRGr1GvP_IZ3QyUfs6mY_B8Jy1jW6HxZNsJIP0jGc8Mt5rdJiYInK9W1x5mwcVHiOcos8CedFDOHdRyMgbiECKCzRkUMwXebrU4WQYWO2jXtn7jqkzZdABCW6aXLptkTEKtfviOz5MpbVvdig3K_TX4hzUJfF_PhuvbfISxRQp4yYPOxoKrWx1eGkoShHVUOt9lHuOLQU5H2X4p5EJ9luSNDQLCoXE3mUwWwPuGlqCYgCNligR8OBnKgxwImZOVX4oe3FZq7ojC6uCC_C594M2gI6YVpBeHria-v821FRxEEXQIcy8J13gRzthMBPcOP_srT515Er0THy4J8S9pmXMXZwR4RMXB0cvdAeGUiJk-ryqWE9rr3ZzkiqWASkWyWdjCr5W_pUsjxQ4T4OZNp2S2qrCZf68q8azz1MhhUMaO13UKRzVR12ny8FlMJGX-ggAMoOrbCSiN4VyD9n_nkNAsfGulAhfqSt_9DZ5RO-tciIsmIdRSrdm7gk_LgYvtf1DnBfblSD9b1PvACO3-KlvZeG7ZysEcyX0BLT4GuSOU7NWaGsiynWrJxoKh6gJQe8kSr9FwxT5zRcFB5Cg-H1zyzEUQdR4w3NN4hMq6DdLQ0qV6CcCxPonAWCiwm4y1_jxjeoVJWXBzvLG92ya8bY8NFv4-YDuhH9u8RsQa2LDRM6giIzxD9f0gP2342m1Sr4fdCzFRMqZJhOGkLGqrc4B6BmHOp7mUKZTv6NAiT5p6nxL-7XeRTjRgQ4_bkA8Aj5Lw_Iu-MuEXLBZOLxgdqcGgamfDrgL9T83kLShfjV99_mHGtPqhWEVlvSUN3efzyC32sgxW9-agkFqf1z4w0Q0iyLNRps_K-JzTmMNrfYqPW1zGKuUwGRSBb1jwxynqbOeqTIemr4CPs6ohjan_D0thZ6K_vwtc7_QsrWQaFgriL_Q-SCxff1N8Ql1RvgFNBgxYZ4JiC1UXPzpW57BEmGWD8c0y5QQ4Ayj-MDkAk5nCq568OZqXAi4cIctTmVuDa0va69INe65Vsj6kPKnns6-N3vDwlw01W-0K3HLnDQpyk0KMFI0pHF2xvmSP2sjsUO64UcOF3WMjB0BKiehD5YZ6gr0kgY8vi1e1GieU1WwL1CPPOjRBGPM8b93SCCmaqfvjoW_bjAI_eLIM3uV5FQ7ZauJgY0apOunwbKDrxF7Jyx9ws522ILRmoLTlyKX-NZCNH-bXkjXqI_Q6lKU9r0CoMMMjfe1ZkPwNev57qYFJEAB6KyKh7mIyz-OCEI_n0KmvvdXjX-Xrc-cyMG9dOBIDQBF4GEFUjfT8YVijZcUO2g4ge-8GA_tUxGvxVQg8tRiZIIaV5hmWImc9IqPZb6ZQUImvADXE_ioKrfWylrcGf117MKbog4jK_tdU7epFkwYXbJk_0mzjykCVWueW6TwNjAYg-qZXN74ZWGQRGf5-8JoeokZsPESv73q9J2LqlPKf1IcatV0-1adeQBLz4aAP0CoXUJvX-jOArQItjEjbZ4BjwFh305x4dswGeK3vO2FDujIg-hPNieiafB-Iye3edsJs27gUom2mplINrh_yrfvOHXw_TF7vYL2fTgQCguF1tIlyql62aNq2WpJ782a3OcBy2ShGuvnnlF7swJdxqHt6o95Grw-3_Qd6Sw1Ql-oz1mEaqdayBK-3ETwwAzJuu9RydWF-X2Z7rKjXwJSAEuE54z8vI5LfMKKohuuG7j4bY2xs6MGDGOp1LmxUqnolNDH-PLRp1TuoGhafnysjkF1PkYwtQiv8-CJaMh_0VycD8tnAyvGoVCUTC2KUDrFroAf8SNk2FgvhSLejkB0kLIAXN3nrfZvOSdTuOKW4wYVKEDSc15zqhavehZ2Fr0UL1urMGEeFE26MlosIKMrOposh5liRkXJEErBVt3wz-EFY-_bKYPFQkZ510ehHEA_F7YvSAiKjpizoetXKuplrMAr-ZKf-auFg0Ity3lFgp2n3ekVDYPi5b6ory5OI7zU8bx7fbDV-lmaSGKndKSNleDVABw82Oynq36J0XgiB1zyndkda-2UVGMDSOgre9J3yV8mTjlEspE4HzY3yZ_RUaQHQp0WKVm_H5zhoE3Yhc28Jd_42mjIJv7snAbHth4xTbcJkNFQUwu6k2KlsRvVEq-udwZhwlZTrucHpgHR7U-qa4Cpi2tad9yS-9Impj4KAQjdcRjjXUZ0sthKJHpeDaQ-UzzhGIMryaWrY9V7hKyU1fE8JhS2HlvAueoszoX6IwAAnTXJyTH1FNsEXVxRzx6ZaqKkvTtMjcswHw5W\",\"summary\":[]},{\"id\":\"msg_0e59440a65b47afb006a8be435e6a487d09ea8698a1bc33f88\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"4\\n\\nWant a quick explanation or more practice problems?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae6e71249ac655e9",
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "parent_span_id": "8f63244c0642a944",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552822.140917,
    "timestamp": 1787552823.8937838,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0fa90af807cb2b82006a8be436333c87d0a74317e59d7539e9",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 209,
      "gen_ai.usage.total_tokens": 253,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0fa90af807cb2b82006a8be436906c87d0b4b481f0775d953f\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Q3654klq-kWGQ7HeR9TkY1D0pSJk40ONDzSLwlWik3XVr67cNxa6jFy-zjt6uYXh2P9lbe8YV3LLcY0rWeHpS-9h107aoSbOqHZ8vbmVWsrMz8ttBUGbzLtBmw94UmXXQySqoR0plQA9MHMR_KBIfXUsDf_8wXEIsGtSlD03BuhErYnDFi0zRfazDDT2u2ZnpXn8ZV605qhBvMV_7Py4bzTrUwn9CF6fyALKHM06VPsbZ8qxbZjB3CMbQ2TtNADOZfjNq4q9eUqCBHjGp0lwbHpowk7WaAtcJUA1B0xQZuu5iW2C8vIp25q_7n6RB1zqULhfdNA-BCft2GFdaZ9zCjhOpNsd9EWk_tStBJ9eruOalkYwXviMQorJOxx1bCmD9gVmuVl8noaUMoyOl8eA5cveTrxW9qps6PdAS0V0MSAPh0WZoKcPJPfhZFodVeIe_mvmXy46S3H1MBGKntgS8bipOM7xYkS_IfFBjFb7AUE6ad6DCRi7OJ8y9s2JRLXsdHF5BukFj8YpMm38Ozy3CpPHgg8lhsyBZJdpdDttrx6MAGP8NTNwPYecgpWQq352rvUCVJcnU0ufJqG726TALaZD74rEyXB5lnKBVgAlRtLbpeG7xMBuY8GysIlibD84zbrZ9GACtLv85ZxinkbDrAVkxhpJDlxxE1r2DjfWy9hcXqFNzoE51IErq2ga70X4dMnv8Z_A5Wyp-U-kafKQyAqZXa_a9EVd17qxOgktc_KUE7dw3pMeJZ4dKmq3c7kUre7BsRziV24vmjfL7QKoFqokXf-SJPZXKSfORUfasxhiZvimxvWYo3NXvIC-N82-WazUZb6T5iuUEnH69KpVgJxHSZPm6rMMNsMqp-MJXHMJeElnqgX1WlGDku2yCaRXgVznNTHN4iy0g107Rnkg4vz4h_GY8Gq1n3s4ERorvpaiphrrWuhAY7DKDU3nGbyXpAmoSrHmFAVbC_42Ok8uPj7L824M3dm1RXN6S6eMcHMub-EZ1ns9TrQgvZZleWhGeoP4EsvaGhSBh_0ilkQlbTD64Mda4CeMDPd5svM0k9Qd4HXhJdu_LPuZFCIQcevpliZlAxqzD6nTFsBGvDPJ7Db0ZJy90--UPt4qjyDDjwDhCEYF1DtCjIZAM8ADu1EJXHHS3gMzWaH2absYiSbmUot253aVjgBkvTYW3UnLHjPVPI3onBwQAOE60IPG-fY8lUSoBC-3ow14uxEKKm76vySThb4_LY26AgglwgQMGa5zVTncRX3cVaXsFShfYQ-T8KpUHnPa-Us3WkRHXC8BF6NzBkY7KBeiHB4ro2bQTwr3xbWHQTNt4hWVrU0hTwfqjd5O5dpll_m9SfxBp3OOaNR3ZXtOxdPxYxz9_6_o1toSXhzIxAy7us4WN8PHlPXAKBqgvsXVbG15_er_A-p8BbAPAikQngpGkK9_qtDLXGdeqPBV5RELP3wexQ68SMgHiGK625gl3kQwdMKvyvA-6kYFQ0tqF0QMyotQv6VMQGKO6lcPbzrzF9D-tT8rmSxZwenY3043CNxHoiN04S0d_5tlzXthJsqgdlMEOS8MDc6Ff8kDu1YfrWRYJXknzZPuC28LYre5FcCqlmW6vREkF9aLqg4QWNLg3YlqxmijSaueK4AKk8Ud-kjOERLxOM8quT9ykMDo1cvgPvB0TcZrsOHBI3P3WGOOBTijaryFOIxCrMV5xc8-ldZ97uYVCP8Zw3Rl2T0TWrDy59M42PtrwHd_aecxs3Q-02VYPFjcxH0Z3B-4gmrkP84fAU1KHzuFsNMBZBUIUewPO_1XVy3GdY9W5S9_e52Yj99Gs_KLzc2SH4Lpcsukzvf4Q9KlYqtt4JjEnhS6IUhmsVazfhH-TcrQZkzj-9uy2zpIPK3wLgKo9WYv44JTfLNzm0UuLeWdC0ABbbOst-hRh34kFCL-uTbuL0Xc8gcpVb8JWCHWeMlnd3VgOu1GTvrBwIzD9loydHTKBUHhhdOEJ_Wb7ypSalJZOqR4Fq9UWlbQ64EOeFHbDbc6VLlLM4JkOPcqQHtaFk6lxWmEP1RzuP1VDEHUKJq11VisbWu2CE-uA9tbkhHLUcrROh5kaFQXNqxm_oui1fiyVR46wW_p2F6hrFfrYmGX8kT9tkP2MSApk8Fph2ebCS026YtG9gKZzfn-GUkUJVzlCgJW-C4hyjwfqhxEA-9-7clWyMf0vaoFUlzkgb5itcw_9qU0pO7x85naL472yRoVLCaDCpdmktKXFKWV-DX4MNfG8mBhcsxnKF4_x4imTf9LisLPWY-DESk0EjRrdeFK3jW2VSDnE4ign9vFU9Dz-fxH5o3BkexuZkEcMJwnk0OlC0_pgTVSFVlOiA455acW0f3Lz0etqPuk5dFToxxYNwTFYYBvmyYKEnmS1BUekOZ6LFCLX0Mo42L1weM56q\",\"summary\":[]},{\"id\":\"msg_0fa90af807cb2b82006a8be4379c7887d0be7e08ebfc5ac98f\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"The capital of Germany is Berlin.\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82054a5f1caa3774",
    "trace_id": "7fddb2a8044248fab2d0b14f9c2486fe",
    "parent_span_id": "8f63244c0642a944",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552823.894137,
    "timestamp": 1787552825.952131,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.request.stream": true,
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.streaming": true,
      "gen_ai.response.id": "resp_0a4fdb4f631a15f9006a8be437f62c87d0acd90e9c1e31c077",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 293,
      "gen_ai.usage.total_tokens": 343,
      "gen_ai.response.finish_reasons": "[\"in_progress\",\"in_progress\",\"completed\"]",
      "gen_ai.response.text": "3 + 3 = 6. You can think of it as combining two groups of 3 to get 6. Want a few more practice problems?",
      "gen_ai.response.tool_calls": "[{\"id\":\"rs_0a4fdb4f631a15f9006a8be438584887d092ccd66d22c8fd55\",\"type\":\"reasoning\",\"content\":[],\"encrypted_content\":\"gAAAAABqi-Q5XW4j9hSIVpb9YD2_KoiPJABBmXAUXD07d5FvMLwwyZ8dFfeM85oRA81o-_96roldYsSaY1OiWOPxhtccr55Vp9HsOwkoAxvWvI_NtabIsyTU4uIPQeHCJmW0XW8KOKiczzLOoX802KMLyCCkLvuIcs5eidXEKdWkj1uvInUdFaXPAMbkTBwlcp_GtyyCxVQzb-JAMaxd_1Nue5NRCY3MWYr3AzkD6BsfyK4dZpQbRRl7sSJbaJYkxXDPXwwpJZ_Vu0p8-b-05LJXivYVQvoJXkmvnEGUxEovwdPHe6UtX2StaJyLAzQ1qYy3iwXOxVuE50AKF3ZiVBEtNuOem5nI-qHxOUhEj4XuG14dMiS-1defaxSvB8IEXNaHT10gU_kL8Hww7EWu-ibot0ZLtvu5huCTrTuZIDAHqut6yOFJXmcKKVjY788cfwx22s1TanpwOXGxS3KxT_DB5jw7c0eAoemFgV0YB31WYF2Csr77w8JAwNUwONGaWxATyXEW0sKYy_d7lT39X6hXG9PLcqDlgglfQd15bUcryK855Vsd4KqK5uEgINu1xAoc8io-2BqhMStsjXF9pxS12uv13IJv_Gu5wYovazWCr7K_HqQbbXVG2dH6KLtRqSMT81ovz3-QnlA9hUOEJlrCrOrPD84wLD897JeJdNxSc28oAPXl9DdqhDTHsx8ohgyw_kSf9V9U58jj9wrlKPpfhD9a-ZDIiPAdt-eQqoxLN_f6vPe7CidVhHfKsp4T5cX--3k0lpM89TClkXuiup7u3M9Q94m0XfTRX7HFoMwj3XawkxRsMBvcJoKilCN-jRm7RFKfg6X2si6cAYyRYvFU97K1xoYZD6BQ40S4fwKhBAhhVL_OHWSq3EyAxOqOoZ4XX_K2xTKCQ17haEJ4NHK2AdQP2WMhriaprq_uFdxMMh0wPLoAhfQafuFqEbU6m__fDep6FkLKMgasToRAWnvryv-fYrow-qfxh9EUJGT9foKF_JF8Q0MRAortPq6kaDIWUNGr5yu1sJ7rRKhYgbfzCgvnN25ZIYnKsOH6J2VTuPlIJ93pU85JPv7zIfTLNX-a7wx6fsdlH6C7nQo0tJTexM8Pi6X58jZBK_PZr_ZqB_pvHY2R8vsXf_V8NOFvBkPaSQIJTVRJS8lG4QyPtmV2aOn-B-QgnoGpZLudMVwrNvbOcJbDOKUwzCcSAsZbzdE3JVUh9mDoMBehZMbfUvy8IpNKjSbXwJFehH1_cMzfKni2WisHO_bPtCMT2TCGwHd8OT2IpGdsFlDL5NQkeXIIWDARN5sqb1hXbvyQhv7wNQWpPBjlUAbOkT00AZ5CGFUVA8FQchM1AKnBD_tF1vSAX1fkbA18AE-GxQ1FzViHxK1J1Jd_FIsbe_xB4mEu-V4qISRUXG_1kSMmv2uyYy6HH0QiMVu1_iLRYFJwLrhMqJ4RQMmSioYtTHRz0YnWRZKusqbsG4velbrlMn9cxf-I6lUOK7m4eLnC-91CPJzD_kTLMwy-rgfC-ZLbzLvZGDTc6crymcuggvoZHT1f77thm5P45Bx-YH28cPEcQdyhDV8v2uLSMzyhVku_tkr2De2lmDYSbQtb3nPDwl0sD1QxLLbucXXP0fb25WpKNb6TND2UE82HCjTc9MFjl0SGKVGtl5klsHZ-fzJ28vnS62oU3FxwpNSJwnBSG62Mi1VT9DPoX_bUKTAGqBiIj0PT1NE36kksAIveWZa75Bd8tKNolFMYdY70EK5tQ8QEoOUMFd0xOFk0gKm9kheA6zGxaxLlpIpedscNkiBLnfHstw8a4tpacw_aso6zvmGD3mY8LtLQQZkOVY2lI7UDdsgA-CXhWcPK5FIaLoQRJmAIe7Pw1ZHPRagq8__ReZ575Yqv7YBgC38PE0x3M1-DEUMouVl11ArQpTE9AE8xXJc_lbAgyjSTmk16Qd0FCsNvrNcjYL6pN59nStdd2wFZWOENbiMmv9-B9Znp4f8x5bYY9mnL0F8om2U7ygF2HKN5u1iUoGBSMWA5pUBUyanMmHDkHRCVikz_onNSDmxtYCT-_-8cpDDEAP8vfmBNoruiUnJutc0iOFTmyM5VW-rFmbxqulCV8RlMyc0ysEHCMkVOQvoggYLN1oY8M5ECJfpb9lregko8eRPgNjwGQ1KlGrkrWJFptuiYnzPJWDcajwd5mjSYT2QWBoDF2rBgntTasih8Go3zUZ7Yt8egYrvbN5XzyB5-dZ-13Re48sFK2uHXUsZWyV6d5t1fuBkbFX2amnVREwaZYAQDOw1USArCyhGSYoEIMUr0eamIsrq7wVLDiZsbWWyr58brYkcaMdxx52viD81ujEBS8smXN86m7waRTPAX8vIriEJvSGnvL74VeJqjo_uRN6vt3d70jQIermak9BuFg5YB4oiRUaYIC_RA9lawCnQ_LkRiTkGM-Dnt-XwW-ybKLa04rjBer88OedJk0nqb95T2MIvZZT_RvJ9ANravbxY9aWE6oC-74-Ah5KG5XTwUs7Ue4w==\",\"summary\":[]},{\"id\":\"msg_0a4fdb4f631a15f9006a8be4396e0c87d08c9f33a8fbaecb2a\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"3 + 3 = 6. You can think of it as combining two groups of 3 to get 6. Want a few more practice problems?\"}],\"role\":\"assistant\"}]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Conversation ID LLM Test (blocking, chat)❗︎ 18799ms
checkAISpanCount(4)
checkChatSpanAttributes
b8afc62agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8afc62agen_ai.output.messagesMissing output messages attribute
be9489bbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be9489bbgen_ai.output.messagesMissing output messages attribute
86f6e025gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
86f6e025gen_ai.output.messagesMissing output messages attribute
81174388gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81174388gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "b8afc62a5f14e7b6",
    "span_id": "8789a22cb3673443",
    "start_timestamp": 1787552819.960776,
    "status": "ok",
    "timestamp": 1787552821.0144336,
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "be9489bb98c6dab1",
    "span_id": "85ac59a65db9eb35",
    "start_timestamp": 1787552821.0208223,
    "status": "ok",
    "timestamp": 1787552823.8256369,
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "86f6e0251ea54cec",
    "span_id": "aff5de20a4ff4642",
    "start_timestamp": 1787552823.827889,
    "status": "ok",
    "timestamp": 1787552825.602525,
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/chat/completions",
      "http.method": "POST",
      "http.target": "/v1/chat/completions",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/chat/completions",
      "url.full": "https://api.openai.com/v1/chat/completions",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "162.159.140.245",
      "network.peer.port": 443,
      "net.peer.ip": "162.159.140.245",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/chat/completions",
    "op": "http.client",
    "parent_span_id": "81174388dab199a4",
    "span_id": "93f594b017581b6a",
    "start_timestamp": 1787552825.6040676,
    "status": "ok",
    "timestamp": 1787552827.732763,
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "origin": "auto.http.client"
  },
  {
    "span_id": "90c53fcfddcd38cd",
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552819.9473877,
    "timestamp": 1787552827.7334487,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "b8afc62a5f14e7b6",
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "parent_span_id": "90c53fcfddcd38cd",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552819.9487016,
    "timestamp": 1787552821.0178766,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIR2Lt5djzfsltXIKhXTPaEo5PUq",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"Paris.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be9489bb98c6dab1",
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "parent_span_id": "90c53fcfddcd38cd",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552821.018958,
    "timestamp": 1787552823.8264644,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "chatcmpl-EGIR3RvgfsfJ72ZcQzYITqFaejxm3",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 418,
      "gen_ai.usage.total_tokens": 442,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"4. It’s the result of adding two and two—two groups of two make four. Want a quick practice problem?\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "86f6e0251ea54cec",
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "parent_span_id": "90c53fcfddcd38cd",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552823.826934,
    "timestamp": 1787552825.6031048,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a helpful assistant.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIR6vBkb0vWWCOVbVakUW4BpgWVv",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"The capital of Germany is Berlin.\"]"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "81174388dab199a4",
    "trace_id": "c0f2184013d94e0f807485e0d98fdc76",
    "parent_span_id": "90c53fcfddcd38cd",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552825.603402,
    "timestamp": 1787552827.7332792,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.system_instructions": "[{\"type\":\"text\",\"content\":\"You are a math tutor.\"}]",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "chatcmpl-EGIR7WMV11jgg5eVvi31RTmD6ai02",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 288,
      "gen_ai.usage.total_tokens": 338,
      "gen_ai.response.finish_reasons": "[\"stop\"]",
      "gen_ai.response.text": "[\"3 + 3 equals 6. You can think of it as two groups of three, or twice three.\"]"
    },
    "status": "ok",
    "is_segment": false
  }
]
node/openai :: Conversation ID LLM Test (blocking, responses)❗︎ 110200ms
checkAISpanCount(4)
checkChatSpanAttributes
ad8c0a74gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad8c0a74gen_ai.output.messagesMissing output messages attribute
b7c66143gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7c66143gen_ai.output.messagesMissing output messages attribute
b55dbc8agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b55dbc8agen_ai.output.messagesMissing output messages attribute
a25c57eagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a25c57eagen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "ad8c0a74bbeba3ec",
    "span_id": "9348499a43434bfc",
    "start_timestamp": 1787552820.3201451,
    "status": "ok",
    "timestamp": 1787552822.197494,
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "b7c66143be9f1a4f",
    "span_id": "835d6eb0f6fc754f",
    "start_timestamp": 1787552822.2019143,
    "status": "ok",
    "timestamp": 1787552825.478344,
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "b55dbc8a831a1517",
    "span_id": "b445473dca7fe2d0",
    "start_timestamp": 1787552825.480749,
    "status": "ok",
    "timestamp": 1787552827.1064224,
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "origin": "auto.http.client"
  },
  {
    "data": {
      "sentry.origin": "auto.http.client",
      "sentry.op": "http.client",
      "otel.kind": "CLIENT",
      "http.url": "https://api.openai.com/v1/responses",
      "http.method": "POST",
      "http.target": "/v1/responses",
      "net.peer.name": "api.openai.com",
      "http.host": "api.openai.com",
      "user_agent.original": [
        "OpenAI/JS 4.96.0"
      ],
      "sentry.source": "url",
      "http.request.method": "POST",
      "url.path": "/v1/responses",
      "url.full": "https://api.openai.com/v1/responses",
      "url.scheme": "https:",
      "url.domain": "api.openai.com",
      "url": "https://api.openai.com/v1/responses",
      "http.response.status_code": 200,
      "network.protocol.version": "1.1",
      "http.flavor": "1.1",
      "network.transport": "ip_tcp",
      "net.transport": "ip_tcp",
      "http.status_text": "OK",
      "http.status_code": 200,
      "network.peer.address": "172.66.0.243",
      "network.peer.port": 443,
      "net.peer.ip": "172.66.0.243",
      "net.peer.port": 443
    },
    "description": "POST https://api.openai.com/v1/responses",
    "op": "http.client",
    "parent_span_id": "a25c57ea4c00a3fa",
    "span_id": "8cb29b2d2d7ebd30",
    "start_timestamp": 1787552827.1080298,
    "status": "ok",
    "timestamp": 1787552829.4682543,
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "origin": "auto.http.client"
  },
  {
    "span_id": "ad3bc8062104e4f6",
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "op": "test",
    "description": "conversation-id-llm-test",
    "start_timestamp": 1787552820.306731,
    "timestamp": 1787552829.469485,
    "data": {
      "sentry.origin": "manual",
      "sentry.op": "test",
      "sentry.source": "custom",
      "sentry.sample_rate": 1
    },
    "status": "ok"
  },
  {
    "span_id": "ad8c0a74bbeba3ec",
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "parent_span_id": "ad3bc8062104e4f6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552820.3079333,
    "timestamp": 1787552822.1999626,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_05985c1e8f4d63b5006a8be434700c87d0a2ed4f2e9cb33f80",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 211,
      "gen_ai.usage.total_tokens": 234,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "Paris."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7c66143be9f1a4f",
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "parent_span_id": "ad3bc8062104e4f6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552822.2007186,
    "timestamp": 1787552825.479395,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 1,
      "gen_ai.response.id": "resp_02f9875061eaf373006a8be4366dfc87d08f5d43d8cd1d0987",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 565,
      "gen_ai.usage.total_tokens": 589,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "4\n\nReason: 2 + 2 equals 4 (e.g., two apples plus two apples makes four apples). Quick check: on a number line, start at 2 and move two steps to the right, you land on 4. Want more practice?"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b55dbc8a831a1517",
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "parent_span_id": "ad3bc8062104e4f6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552825.4798815,
    "timestamp": 1787552827.1070697,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-a",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is the capital of France?\"},{\"role\":\"assistant\",\"content\":\"The capital of France is Paris.\"},{\"role\":\"user\",\"content\":\"What about Germany?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_048b8f5848c75a13006a8be439915087d0868c0f1e3ff76b78",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 170,
      "gen_ai.usage.total_tokens": 214,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "The capital of Germany is Berlin."
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a25c57ea4c00a3fa",
    "trace_id": "b07d228ad0b047d8a6b44e4d14a586a4",
    "parent_span_id": "ad3bc8062104e4f6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552827.1073701,
    "timestamp": 1787552829.4690886,
    "data": {
      "sentry.origin": "auto.ai.openai",
      "sentry.op": "gen_ai.chat",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.conversation.id": "conv-b",
      "gen_ai.input.messages": "[{\"role\":\"user\",\"content\":\"What is 2 + 2?\"},{\"role\":\"assistant\",\"content\":\"2 + 2 equals 4.\"},{\"role\":\"user\",\"content\":\"What about 3 + 3?\"}]",
      "sentry.sdk_meta.gen_ai.input.messages.original_length": 3,
      "gen_ai.response.id": "resp_0baecad9af54f886006a8be43b340087d08828e847aa8a09a3",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 344,
      "gen_ai.usage.total_tokens": 394,
      "gen_ai.response.finish_reasons": "[\"completed\"]",
      "gen_ai.response.text": "3 + 3 = 6.\n\nWant a few more quick examples?"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Basic LLM Test (sync, streaming)❗︎ 1⚠︎ 13441ms
checkAISpanCount(1)
checkChatSpanAttributes
9362734fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9362734fgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9362734fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "span_id": "b31625cb3829e534",
    "parent_span_id": "9362734fbc15d25b",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:01.612057Z",
    "timestamp": "2026-08-24T06:27:01.614677Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18823
    },
    "data": {
      "thread.id": "140192322292608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "span_id": "98a2ad071f6bcef1",
    "parent_span_id": "9362734fbc15d25b",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.614751Z",
    "timestamp": "2026-08-24T06:27:01.614874Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18823
    },
    "data": {
      "thread.id": "140192322292608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "span_id": "9ae483e03de1f4d2",
    "parent_span_id": "98a2ad071f6bcef1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.614838Z",
    "timestamp": "2026-08-24T06:27:01.614868Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18823
    },
    "data": {
      "thread.id": "140192322292608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "span_id": "9ee95c3be96e99f9",
    "parent_span_id": "9362734fbc15d25b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.614905Z",
    "timestamp": "2026-08-24T06:27:01.614918Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18823
    },
    "data": {
      "thread.id": "140192322292608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "span_id": "941778e18616eecb",
    "parent_span_id": "9362734fbc15d25b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:01.616118Z",
    "timestamp": "2026-08-24T06:27:03.235960Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140192322292608",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "99778f68dd3d14f3",
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:01.609033Z",
    "timestamp": "2026-08-24T06:27:03.260399Z",
    "data": {
      "thread.id": "140192322292608",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9362734fbc15d25b",
    "trace_id": "78023148f6c24e5b8d705ad9388c7e10",
    "parent_span_id": "99778f68dd3d14f3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552821.611548,
    "timestamp": 1787552823.260357,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140192322292608",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552822-LtJumkuYV73oYrZzUaqk",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "99778f68dd3d14f3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Basic LLM Test (sync, blocking)❗︎ 1⚠︎ 12511ms
checkAISpanCount(1)
checkChatSpanAttributes
b8dd869cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8dd869cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b8dd869cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "span_id": "86b6d985901b6b07",
    "parent_span_id": "b8dd869cf364ea09",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:01.610771Z",
    "timestamp": "2026-08-24T06:27:01.612870Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18822
    },
    "data": {
      "thread.id": "140678972791680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "span_id": "b9a6ad669437b5fa",
    "parent_span_id": "b8dd869cf364ea09",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.612944Z",
    "timestamp": "2026-08-24T06:27:01.613087Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18822
    },
    "data": {
      "thread.id": "140678972791680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "span_id": "a05be9e40149f869",
    "parent_span_id": "b9a6ad669437b5fa",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.613043Z",
    "timestamp": "2026-08-24T06:27:01.613079Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18822
    },
    "data": {
      "thread.id": "140678972791680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "span_id": "b66aa71eed805d76",
    "parent_span_id": "b8dd869cf364ea09",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.613121Z",
    "timestamp": "2026-08-24T06:27:01.613134Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18822
    },
    "data": {
      "thread.id": "140678972791680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "span_id": "a5f5df53edb70621",
    "parent_span_id": "b8dd869cf364ea09",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:01.614328Z",
    "timestamp": "2026-08-24T06:27:03.014356Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140678972791680",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8084eb74a9e2ffa2",
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:01.608048Z",
    "timestamp": "2026-08-24T06:27:03.024311Z",
    "data": {
      "thread.id": "140678972791680",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b8dd869cf364ea09",
    "trace_id": "f8916522a8d14fa4997a9da6dd50c60d",
    "parent_span_id": "8084eb74a9e2ffa2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552821.60882,
    "timestamp": 1787552823.024276,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140678972791680",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552821-Sn0bZ9oyaW84pXG05PKv",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "8084eb74a9e2ffa2",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Basic LLM Test (async, streaming)❗︎ 1⚠︎ 12395ms
checkAISpanCount(1)
checkChatSpanAttributes
992da961gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
992da961gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
992da961gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "span_id": "b303d2a68f9f9e96",
    "parent_span_id": "992da9618fcf204b",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:01.869874Z",
    "timestamp": "2026-08-24T06:27:01.870782Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18827
    },
    "data": {
      "thread.id": "139827963352768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "span_id": "bad1c5ee7b4aff2f",
    "parent_span_id": "992da9618fcf204b",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.870844Z",
    "timestamp": "2026-08-24T06:27:01.871392Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18827
    },
    "data": {
      "thread.id": "139827963352768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "span_id": "87ecacb2a5f9b274",
    "parent_span_id": "bad1c5ee7b4aff2f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.871351Z",
    "timestamp": "2026-08-24T06:27:01.871385Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18827
    },
    "data": {
      "thread.id": "139827963352768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "span_id": "8c93832897580876",
    "parent_span_id": "992da9618fcf204b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.871416Z",
    "timestamp": "2026-08-24T06:27:01.871426Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18827
    },
    "data": {
      "thread.id": "139827963352768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "span_id": "8564e4dbcfb66d3c",
    "parent_span_id": "992da9618fcf204b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:01.872420Z",
    "timestamp": "2026-08-24T06:27:02.727119Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139828034415488",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bbe101a3224fc50f",
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:01.867678Z",
    "timestamp": "2026-08-24T06:27:03.176050Z",
    "data": {
      "thread.id": "139828034415488",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "992da9618fcf204b",
    "trace_id": "38f6fd74052441b496a92cc5b29a3d9d",
    "parent_span_id": "bbe101a3224fc50f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552821.869316,
    "timestamp": 1787552823.175138,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139828034415488",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552821-lVhdSu9ojAsUCa4XGOqq",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "bbe101a3224fc50f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Basic LLM Test (async, blocking)❗︎ 1⚠︎ 12316ms
checkAISpanCount(1)
checkChatSpanAttributes
b69242e1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b69242e1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b69242e1gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "span_id": "b22f299da3c6efac",
    "parent_span_id": "b69242e1d1e30c4f",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:01.982786Z",
    "timestamp": "2026-08-24T06:27:01.983615Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18831
    },
    "data": {
      "thread.id": "139831356356288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "span_id": "a5a9f32ca958ceb5",
    "parent_span_id": "b69242e1d1e30c4f",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.983653Z",
    "timestamp": "2026-08-24T06:27:01.984132Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18831
    },
    "data": {
      "thread.id": "139831356356288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "span_id": "9f17461bc1dcb448",
    "parent_span_id": "a5a9f32ca958ceb5",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.984084Z",
    "timestamp": "2026-08-24T06:27:01.984127Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18831
    },
    "data": {
      "thread.id": "139831356356288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "span_id": "bd16074aa46bfb91",
    "parent_span_id": "b69242e1d1e30c4f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:01.984152Z",
    "timestamp": "2026-08-24T06:27:01.984161Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18831
    },
    "data": {
      "thread.id": "139831356356288",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "span_id": "a002fb3d5658c1c1",
    "parent_span_id": "b69242e1d1e30c4f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:01.985110Z",
    "timestamp": "2026-08-24T06:27:03.259566Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139831427767168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8cb367b30e277d6a",
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:01.980668Z",
    "timestamp": "2026-08-24T06:27:03.269905Z",
    "data": {
      "thread.id": "139831427767168",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b69242e1d1e30c4f",
    "trace_id": "9148f5596fbc4feeb7f6f75486c946b3",
    "parent_span_id": "8cb367b30e277d6a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552821.981472,
    "timestamp": 1787552823.268996,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139831427767168",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552822-bp4OSSULcQqRXNU6gvg4",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 36,
      "gen_ai.usage.total_tokens": 56,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "8cb367b30e277d6a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Multi-Turn LLM Test (sync, streaming)❗︎ 1⚠︎ 110077ms
checkAISpanCount(3)
checkChatSpanAttributes
91b85a4agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91b85a4agen_ai.output.messagesMissing output messages attribute
970786b1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
970786b1gen_ai.output.messagesMissing output messages attribute
ad594b27gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad594b27gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
91b85a4agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
970786b1gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ad594b27gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "be770461a1c6a142",
    "parent_span_id": "91b85a4aa201a803",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:04.114302Z",
    "timestamp": "2026-08-24T06:27:04.116225Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18848
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "b525428b65f253ad",
    "parent_span_id": "91b85a4aa201a803",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.116292Z",
    "timestamp": "2026-08-24T06:27:04.116402Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18848
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "b37c30dd7095f5e9",
    "parent_span_id": "b525428b65f253ad",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.116368Z",
    "timestamp": "2026-08-24T06:27:04.116397Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18848
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "a76ef92307b1abda",
    "parent_span_id": "91b85a4aa201a803",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.116431Z",
    "timestamp": "2026-08-24T06:27:04.116443Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18848
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "b89a92947db91eab",
    "parent_span_id": "91b85a4aa201a803",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:04.117546Z",
    "timestamp": "2026-08-24T06:27:05.297878Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "ab224749b0b5a125",
    "parent_span_id": "970786b11b1c3981",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:05.744450Z",
    "timestamp": "2026-08-24T06:27:06.282135Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 66,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "span_id": "8b2e84dbae74280a",
    "parent_span_id": "ad594b27d45303d3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:07.356167Z",
    "timestamp": "2026-08-24T06:27:12.203181Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 93,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aadeaacc3011b20f",
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:04.111706Z",
    "timestamp": "2026-08-24T06:27:12.932209Z",
    "data": {
      "thread.id": "139784000674688",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "91b85a4aa201a803",
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "parent_span_id": "aadeaacc3011b20f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552824.113862,
    "timestamp": 1787552825.743216,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139784000674688",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552824-FtvXGT1DGFXy4m6u9fNi",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France. Paris is also known as the \"City of Light\" and is famous for its landmarks, art, culture, and cuisine.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 61,
      "gen_ai.usage.total_tokens": 81,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "aadeaacc3011b20f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "970786b11b1c3981",
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "parent_span_id": "aadeaacc3011b20f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552825.74367,
    "timestamp": 1787552827.354985,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139784000674688",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552825-RV1lcJkHA9CKiS90xoTa",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Paris has a population of approximately 2.1-2.2 million people within the city proper (the administrative boundaries of Paris itself).\n\nHowever, the larger metropolitan area of Paris (the Île-de-France region) has a population of around 12 million people, making it one of Europe's largest urban agglomerations.\n\nThe exact figures can vary slightly depending on the source and most recent census data, but these numbers are current as of my last training data.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 104,
      "gen_ai.usage.total_tokens": 145,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "aadeaacc3011b20f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ad594b27d45303d3",
    "trace_id": "fe2b50e7a23c4808ba5ac2f9329883fd",
    "parent_span_id": "aadeaacc3011b20f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552827.355493,
    "timestamp": 1787552832.932157,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139784000674688",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552827-8RoTB7KpDwIrIZnEdI3L",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 37,
      "gen_ai.usage.total_tokens": 108,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "aadeaacc3011b20f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Multi-Turn LLM Test (sync, blocking)❗︎ 1⚠︎ 14162ms
checkAISpanCount(3)
checkChatSpanAttributes
a132195cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a132195cgen_ai.output.messagesMissing output messages attribute
86085e97gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
86085e97gen_ai.output.messagesMissing output messages attribute
b9e2d965gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b9e2d965gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a132195cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
86085e97gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b9e2d965gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "bd9e91be8945d913",
    "parent_span_id": "a132195c8df61e6c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:04.377037Z",
    "timestamp": "2026-08-24T06:27:04.378091Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18855
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "a1c328aaa65a9af4",
    "parent_span_id": "a132195c8df61e6c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.378148Z",
    "timestamp": "2026-08-24T06:27:04.378562Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18855
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "a60fc33c63bc088d",
    "parent_span_id": "a1c328aaa65a9af4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.378519Z",
    "timestamp": "2026-08-24T06:27:04.378554Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18855
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "98e4f2f07d999e44",
    "parent_span_id": "a132195c8df61e6c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.378595Z",
    "timestamp": "2026-08-24T06:27:04.378624Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18855
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "a27e9d173a05c585",
    "parent_span_id": "a132195c8df61e6c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:04.379703Z",
    "timestamp": "2026-08-24T06:27:05.019045Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "be3f6bb710ab6cbe",
    "parent_span_id": "86085e97620eaa30",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:05.030163Z",
    "timestamp": "2026-08-24T06:27:06.584575Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 60,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "span_id": "8c922b12c8765b72",
    "parent_span_id": "b9e2d965b7e5a54d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:06.586115Z",
    "timestamp": "2026-08-24T06:27:07.342492Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 81,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b4e79a19f760ee1f",
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:04.374779Z",
    "timestamp": "2026-08-24T06:27:07.343079Z",
    "data": {
      "thread.id": "140368993147776",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a132195c8df61e6c",
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "parent_span_id": "b4e79a19f760ee1f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552824.375452,
    "timestamp": 1787552825.029244,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140368993147776",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552824-BqMD2sQMDkCzAOC7GtLl",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is **Paris**.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 31,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b4e79a19f760ee1f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "86085e97620eaa30",
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "parent_span_id": "b4e79a19f760ee1f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552825.029318,
    "timestamp": 1787552826.585188,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140368993147776",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552825-KBROdqywkLquKVDrNY05",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Paris has a population of approximately 2.1 to 2.2 million people within the city proper (the administrative boundaries of Paris itself).\n\nHowever, the larger metropolitan area of Paris, known as the Île-de-France region, has a population of around 12 million people, making it one of the largest metropolitan areas in Europe.\n\nThe exact figures can vary depending on the source and the year of the census, but these are the most current estimates.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 102,
      "gen_ai.usage.total_tokens": 143,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b4e79a19f760ee1f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b9e2d965b7e5a54d",
    "trace_id": "c235532dbc724c32a63637db8f40f66c",
    "parent_span_id": "b4e79a19f760ee1f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552826.585257,
    "timestamp": 1787552827.343044,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140368993147776",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552826-8G19WtomWGSkwNgIwk6N",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b4e79a19f760ee1f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Multi-Turn LLM Test (async, streaming)❗︎ 1⚠︎ 15234ms
checkAISpanCount(3)
checkChatSpanAttributes
bd50e8d3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd50e8d3gen_ai.output.messagesMissing output messages attribute
b49e7b14gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b49e7b14gen_ai.output.messagesMissing output messages attribute
8744aaa4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8744aaa4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
bd50e8d3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b49e7b14gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8744aaa4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "ba4ecbf06c59198e",
    "parent_span_id": "bd50e8d352837adb",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:04.363797Z",
    "timestamp": "2026-08-24T06:27:04.364601Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18853
    },
    "data": {
      "thread.id": "140526136927936",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "9b61689b82407c39",
    "parent_span_id": "bd50e8d352837adb",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.364669Z",
    "timestamp": "2026-08-24T06:27:04.365154Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18853
    },
    "data": {
      "thread.id": "140526136927936",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "b3826d5f182b942a",
    "parent_span_id": "9b61689b82407c39",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.365116Z",
    "timestamp": "2026-08-24T06:27:04.365147Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18853
    },
    "data": {
      "thread.id": "140526136927936",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "b752f6eab6ea22ae",
    "parent_span_id": "bd50e8d352837adb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.365175Z",
    "timestamp": "2026-08-24T06:27:04.365184Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18853
    },
    "data": {
      "thread.id": "140526136927936",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "9c35309c73151426",
    "parent_span_id": "bd50e8d352837adb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:04.366126Z",
    "timestamp": "2026-08-24T06:27:04.959363Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140526208080768",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "aee9dad1ce8da359",
    "parent_span_id": "b49e7b1447cd87bb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:04.982983Z",
    "timestamp": "2026-08-24T06:27:05.659016Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140526208080768",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 67,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "span_id": "9642dce4fd271678",
    "parent_span_id": "8744aaa480ce0aba",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:06.520484Z",
    "timestamp": "2026-08-24T06:27:08.226316Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140526208080768",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 94,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ada154093f06212b",
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:04.361717Z",
    "timestamp": "2026-08-24T06:27:08.471361Z",
    "data": {
      "thread.id": "140526208080768",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bd50e8d352837adb",
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "parent_span_id": "ada154093f06212b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552824.363293,
    "timestamp": 1787552824.981907,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140526208080768",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552824-mBRqJbHT7EslS3MiNvyn",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "ada154093f06212b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b49e7b1447cd87bb",
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "parent_span_id": "ada154093f06212b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552824.982305,
    "timestamp": 1787552826.518573,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140526208080768",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552824-9a0KfD0JpDdOGwurjM5e",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The population of Paris varies depending on how you define the city:\n\n- **City of Paris proper**: Approximately 2.1-2.2 million people\n- **Paris metropolitan area (Île-de-France region)**: Approximately 12 million people\n\nThe larger metropolitan area figure is often cited when discussing Paris's total population, as it includes the surrounding suburbs and communes. The exact numbers can fluctuate and vary slightly depending on the source and year of the data.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 105,
      "gen_ai.usage.total_tokens": 146,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "ada154093f06212b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8744aaa480ce0aba",
    "trace_id": "298bdde4378a4bbaa50d752f79a9ec23",
    "parent_span_id": "ada154093f06212b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552826.519487,
    "timestamp": 1787552828.470237,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140526208080768",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552826-WHxDqSVou9I9JMbqdcqa",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "ada154093f06212b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Multi-Turn LLM Test (async, blocking)❗︎ 1⚠︎ 14218ms
checkAISpanCount(3)
checkChatSpanAttributes
b6b378ddgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b6b378ddgen_ai.output.messagesMissing output messages attribute
bd9082d4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd9082d4gen_ai.output.messagesMissing output messages attribute
9db5ca77gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9db5ca77gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b6b378ddgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
bd9082d4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9db5ca77gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "9973e81320eaf089",
    "parent_span_id": "b6b378dd323bcae9",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:04.465807Z",
    "timestamp": "2026-08-24T06:27:04.466636Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18859
    },
    "data": {
      "thread.id": "139698126575296",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "8fb7ae788347f734",
    "parent_span_id": "b6b378dd323bcae9",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.466673Z",
    "timestamp": "2026-08-24T06:27:04.467136Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18859
    },
    "data": {
      "thread.id": "139698126575296",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "a0d98f144c4265a1",
    "parent_span_id": "8fb7ae788347f734",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.467089Z",
    "timestamp": "2026-08-24T06:27:04.467131Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18859
    },
    "data": {
      "thread.id": "139698126575296",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "98cda9ff010cafe0",
    "parent_span_id": "b6b378dd323bcae9",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:04.467155Z",
    "timestamp": "2026-08-24T06:27:04.467163Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18859
    },
    "data": {
      "thread.id": "139698126575296",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "9f31f56583f23064",
    "parent_span_id": "b6b378dd323bcae9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:04.468105Z",
    "timestamp": "2026-08-24T06:27:05.281893Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139698197060480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "91c617099048f14d",
    "parent_span_id": "bd9082d432ccd022",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:05.292977Z",
    "timestamp": "2026-08-24T06:27:06.443854Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139698197060480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 61,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "span_id": "b531421ac8e2bad8",
    "parent_span_id": "9db5ca77681511cf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:06.445303Z",
    "timestamp": "2026-08-24T06:27:07.494842Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139698197060480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 82,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b40d4cae634db4b5",
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:04.463634Z",
    "timestamp": "2026-08-24T06:27:07.496220Z",
    "data": {
      "thread.id": "139698197060480",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b6b378dd323bcae9",
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "parent_span_id": "b40d4cae634db4b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552824.464574,
    "timestamp": 1787552825.291865,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139698197060480",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552824-nd8c4mgeYhCkgR1nDIkq",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France by population.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 58,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b40d4cae634db4b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd9082d432ccd022",
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "parent_span_id": "b40d4cae634db4b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552825.291947,
    "timestamp": 1787552826.444377,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139698197060480",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552825-VRK6smes4abzaacySWkx",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Paris has a population of approximately 2.1 to 2.2 million people within the city proper (as of recent estimates). However, the greater Paris metropolitan area (Île-de-France) has a much larger population of around 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 71,
      "gen_ai.usage.total_tokens": 112,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b40d4cae634db4b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9db5ca77681511cf",
    "trace_id": "44613bdf4aec4a12aee1b6a18b1c69ca",
    "parent_span_id": "b40d4cae634db4b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552826.444447,
    "timestamp": 1787552827.49534,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139698197060480",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552826-oH0tuE8fc5oGuTDQnxUi",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b40d4cae634db4b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Vision LLM Test (sync, streaming)❗︎ 1 1⚠︎ 11863ms
checkChatSpanAttributes
9fce5acagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9fce5acagen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9fce5acagen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9fce5acagen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
9fce5acagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "span_id": "910cf518ae28c21e",
    "parent_span_id": "9fce5acab6fec075",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:08.758970Z",
    "timestamp": "2026-08-24T06:27:08.759724Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18893
    },
    "data": {
      "thread.id": "140013774904192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "span_id": "9650eed7fb38f94a",
    "parent_span_id": "9fce5acab6fec075",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:08.759765Z",
    "timestamp": "2026-08-24T06:27:08.760216Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18893
    },
    "data": {
      "thread.id": "140013774904192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "span_id": "a4dd2dd6e4087f34",
    "parent_span_id": "9650eed7fb38f94a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:08.760173Z",
    "timestamp": "2026-08-24T06:27:08.760211Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18893
    },
    "data": {
      "thread.id": "140013774904192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "span_id": "adee47e37561f6c1",
    "parent_span_id": "9fce5acab6fec075",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:08.760237Z",
    "timestamp": "2026-08-24T06:27:08.760245Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18893
    },
    "data": {
      "thread.id": "140013774904192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "span_id": "81e4c5b699d089bc",
    "parent_span_id": "9fce5acab6fec075",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:08.760965Z",
    "timestamp": "2026-08-24T06:27:09.477850Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140013774904192",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8469fb5f9f62b400",
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:08.755099Z",
    "timestamp": "2026-08-24T06:27:09.524213Z",
    "data": {
      "thread.id": "140013774904192",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9fce5acab6fec075",
    "trace_id": "224106b622924969b4aaf87df9769e0b",
    "parent_span_id": "8469fb5f9f62b400",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552828.758674,
    "timestamp": 1787552829.524158,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140013774904192",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552828-LYsjaV0ZyJwBvj0CnRJp",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8469fb5f9f62b400",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Vision LLM Test (sync, blocking)❗︎ 1 1⚠︎ 12851ms
checkChatSpanAttributes
99d91c58gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99d91c58gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
99d91c58gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
99d91c58gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
99d91c58gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "span_id": "952714f76df0189d",
    "parent_span_id": "99d91c582e50160a",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:09.392558Z",
    "timestamp": "2026-08-24T06:27:09.395804Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18904
    },
    "data": {
      "thread.id": "139642935565184",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "span_id": "ab6d1ba67b7a73ca",
    "parent_span_id": "99d91c582e50160a",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.395873Z",
    "timestamp": "2026-08-24T06:27:09.395991Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18904
    },
    "data": {
      "thread.id": "139642935565184",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "span_id": "8bd38d333528841c",
    "parent_span_id": "ab6d1ba67b7a73ca",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.395953Z",
    "timestamp": "2026-08-24T06:27:09.395985Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18904
    },
    "data": {
      "thread.id": "139642935565184",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "span_id": "8db5fea2a9958383",
    "parent_span_id": "99d91c582e50160a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.396020Z",
    "timestamp": "2026-08-24T06:27:09.396032Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18904
    },
    "data": {
      "thread.id": "139642935565184",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "span_id": "9fd4492ab3a51b3c",
    "parent_span_id": "99d91c582e50160a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:09.397129Z",
    "timestamp": "2026-08-24T06:27:11.118103Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139642935565184",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8a85e41062408b85",
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:09.386659Z",
    "timestamp": "2026-08-24T06:27:11.134084Z",
    "data": {
      "thread.id": "139642935565184",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "99d91c582e50160a",
    "trace_id": "7d52cd5c6474405aa962715dc8111c14",
    "parent_span_id": "8a85e41062408b85",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552829.388007,
    "timestamp": 1787552831.134034,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139642935565184",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552830-taf6PQKoEzUjXUS6ClzE",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8a85e41062408b85",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Vision LLM Test (async, streaming)❗︎ 1 1⚠︎ 13805ms
checkChatSpanAttributes
9163c444gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9163c444gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9163c444gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9163c444gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
9163c444gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "span_id": "b0a58dde8a239d78",
    "parent_span_id": "9163c444fca88034",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:09.707978Z",
    "timestamp": "2026-08-24T06:27:09.710713Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18912
    },
    "data": {
      "thread.id": "139752051693248",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "span_id": "8fdbf31d96434058",
    "parent_span_id": "9163c444fca88034",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.710786Z",
    "timestamp": "2026-08-24T06:27:09.710914Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18912
    },
    "data": {
      "thread.id": "139752051693248",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "span_id": "91e0200637d221b6",
    "parent_span_id": "8fdbf31d96434058",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.710875Z",
    "timestamp": "2026-08-24T06:27:09.710908Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18912
    },
    "data": {
      "thread.id": "139752051693248",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "span_id": "819396d3d0d5374f",
    "parent_span_id": "9163c444fca88034",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.710945Z",
    "timestamp": "2026-08-24T06:27:09.710958Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18912
    },
    "data": {
      "thread.id": "139752051693248",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "span_id": "9ea72febc5a58822",
    "parent_span_id": "9163c444fca88034",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:09.712506Z",
    "timestamp": "2026-08-24T06:27:12.113049Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139752123341696",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bb0701378af640f4",
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:09.699255Z",
    "timestamp": "2026-08-24T06:27:12.270070Z",
    "data": {
      "thread.id": "139752123341696",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9163c444fca88034",
    "trace_id": "582bdf1c22764f4caed09c7917ddf6c0",
    "parent_span_id": "bb0701378af640f4",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552829.706102,
    "timestamp": 1787552832.260332,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139752123341696",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552830-tii8uo1ZqxWhGaL6haFi",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "bb0701378af640f4",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Vision LLM Test (async, blocking)❗︎ 1 1⚠︎ 12227ms
checkChatSpanAttributes
b0f221begen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b0f221begen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b0f221begen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b0f221begen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
b0f221begen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "span_id": "85fb82d9872b162e",
    "parent_span_id": "b0f221bec9f841e1",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:09.714334Z",
    "timestamp": "2026-08-24T06:27:09.716156Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18915
    },
    "data": {
      "thread.id": "140266788869824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "span_id": "872487f5cd9db32e",
    "parent_span_id": "b0f221bec9f841e1",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.716221Z",
    "timestamp": "2026-08-24T06:27:09.716338Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18915
    },
    "data": {
      "thread.id": "140266788869824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "span_id": "a6de3288f13781fd",
    "parent_span_id": "872487f5cd9db32e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.716302Z",
    "timestamp": "2026-08-24T06:27:09.716332Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18915
    },
    "data": {
      "thread.id": "140266788869824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "span_id": "bbaf98de06f9af17",
    "parent_span_id": "b0f221bec9f841e1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.716367Z",
    "timestamp": "2026-08-24T06:27:09.716379Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18915
    },
    "data": {
      "thread.id": "140266788869824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "span_id": "a340040ad4f6629d",
    "parent_span_id": "b0f221bec9f841e1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:09.718489Z",
    "timestamp": "2026-08-24T06:27:10.583839Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140266859547520",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "826d0553f98bb680",
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:09.709277Z",
    "timestamp": "2026-08-24T06:27:10.620198Z",
    "data": {
      "thread.id": "140266859547520",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b0f221bec9f841e1",
    "trace_id": "21a97d889db943de9a8d87a1e5c7c985",
    "parent_span_id": "826d0553f98bb680",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552829.71016,
    "timestamp": 1787552830.618204,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140266859547520",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552829-27jIZw7CmUnp2uw3k5Kr",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "826d0553f98bb680",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Long Input LLM Test (sync, streaming)❗︎ 1⚠︎ 12396ms
checkChatSpanAttributes
be2b62e2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be2b62e2gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
be2b62e2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "span_id": "895f3e9c753821bf",
    "parent_span_id": "be2b62e2cb22b236",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:09.799024Z",
    "timestamp": "2026-08-24T06:27:09.799825Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18918
    },
    "data": {
      "thread.id": "140203833006976",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "span_id": "a91cc825fcde8658",
    "parent_span_id": "be2b62e2cb22b236",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.799865Z",
    "timestamp": "2026-08-24T06:27:09.800334Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18918
    },
    "data": {
      "thread.id": "140203833006976",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "span_id": "a0ae49cff1fae6df",
    "parent_span_id": "a91cc825fcde8658",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.800291Z",
    "timestamp": "2026-08-24T06:27:09.800328Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18918
    },
    "data": {
      "thread.id": "140203833006976",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "span_id": "8576217c1e5e78e0",
    "parent_span_id": "be2b62e2cb22b236",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:09.800354Z",
    "timestamp": "2026-08-24T06:27:09.800363Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18918
    },
    "data": {
      "thread.id": "140203833006976",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "span_id": "b69c478107f2ad76",
    "parent_span_id": "be2b62e2cb22b236",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:09.801257Z",
    "timestamp": "2026-08-24T06:27:10.800530Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140203833006976",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "abb609529e45671c",
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:09.796967Z",
    "timestamp": "2026-08-24T06:27:10.980233Z",
    "data": {
      "thread.id": "140203833006976",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "be2b62e2cb22b236",
    "trace_id": "3670ca80a43f4a919c996c10320e9452",
    "parent_span_id": "abb609529e45671c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552829.798645,
    "timestamp": 1787552830.980171,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140203833006976",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552829-EqHvA4HpArNQUuJS189h",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "A single test message repeated numerous times to create lengthy input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 5441,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "abb609529e45671c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Long Input LLM Test (sync, blocking)❗︎ 1⚠︎ 12179ms
checkChatSpanAttributes
bc7275b0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bc7275b0gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
bc7275b0gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "span_id": "985bba73787bb47a",
    "parent_span_id": "bc7275b0d9100534",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:10.590905Z",
    "timestamp": "2026-08-24T06:27:10.600726Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18933
    },
    "data": {
      "thread.id": "140426597411712",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "span_id": "b4025def6463c50c",
    "parent_span_id": "bc7275b0d9100534",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.600801Z",
    "timestamp": "2026-08-24T06:27:10.600921Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18933
    },
    "data": {
      "thread.id": "140426597411712",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "span_id": "901b337c86b8d637",
    "parent_span_id": "b4025def6463c50c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.600884Z",
    "timestamp": "2026-08-24T06:27:10.600916Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18933
    },
    "data": {
      "thread.id": "140426597411712",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "span_id": "a051f8aa5633c5c0",
    "parent_span_id": "bc7275b0d9100534",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.600950Z",
    "timestamp": "2026-08-24T06:27:10.600962Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18933
    },
    "data": {
      "thread.id": "140426597411712",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "span_id": "94a20264b490f180",
    "parent_span_id": "bc7275b0d9100534",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:10.602246Z",
    "timestamp": "2026-08-24T06:27:11.568507Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140426597411712",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a9acf3a8c11fa87a",
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:10.583234Z",
    "timestamp": "2026-08-24T06:27:11.579103Z",
    "data": {
      "thread.id": "140426597411712",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bc7275b0d9100534",
    "trace_id": "ce5caf2fea28437cb7dcf2ce931a7d08",
    "parent_span_id": "a9acf3a8c11fa87a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552830.586043,
    "timestamp": 1787552831.579066,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140426597411712",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552830-JSvMFg0SZ7eq80MmUOqv",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "This is a test message that is repeated many times to create lengthy input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5444,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "a9acf3a8c11fa87a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Long Input LLM Test (async, streaming)❗︎ 1⚠︎ 12661ms
checkChatSpanAttributes
9640b5cagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9640b5cagen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
9640b5cagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "span_id": "a186ee4f3a5a6272",
    "parent_span_id": "9640b5ca97de07e4",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:10.957625Z",
    "timestamp": "2026-08-24T06:27:10.959816Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18945
    },
    "data": {
      "thread.id": "140628421760704",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "span_id": "a3e6e90cb5f795d3",
    "parent_span_id": "9640b5ca97de07e4",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.959890Z",
    "timestamp": "2026-08-24T06:27:10.960020Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18945
    },
    "data": {
      "thread.id": "140628421760704",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "span_id": "bef824d6a54747c8",
    "parent_span_id": "a3e6e90cb5f795d3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.959979Z",
    "timestamp": "2026-08-24T06:27:10.960013Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18945
    },
    "data": {
      "thread.id": "140628421760704",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "span_id": "87c2f6758b3eb85a",
    "parent_span_id": "9640b5ca97de07e4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.960055Z",
    "timestamp": "2026-08-24T06:27:10.960069Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18945
    },
    "data": {
      "thread.id": "140628421760704",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "span_id": "98eca48489ee5986",
    "parent_span_id": "9640b5ca97de07e4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:10.961867Z",
    "timestamp": "2026-08-24T06:27:11.958727Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140628492180352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "85992764579f50f8",
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:10.951907Z",
    "timestamp": "2026-08-24T06:27:12.153229Z",
    "data": {
      "thread.id": "140628492180352",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9640b5ca97de07e4",
    "trace_id": "6320f2b72f194f5aa01328b6ed3751b6",
    "parent_span_id": "85992764579f50f8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552830.956694,
    "timestamp": 1787552832.150898,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140628492180352",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552831-EZTvuuqGLk28za4INRHx",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "This is a test message repeated many times to create a lengthy input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5443,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "85992764579f50f8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Long Input LLM Test (async, blocking)❗︎ 1⚠︎ 12172ms
checkChatSpanAttributes
889a735egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
889a735egen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
889a735egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "span_id": "955bb697db5ff8a6",
    "parent_span_id": "889a735e09c5ff8f",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:10.935542Z",
    "timestamp": "2026-08-24T06:27:10.937511Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18942
    },
    "data": {
      "thread.id": "140311870297792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "span_id": "b086a528c1fc2661",
    "parent_span_id": "889a735e09c5ff8f",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.937582Z",
    "timestamp": "2026-08-24T06:27:10.937718Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18942
    },
    "data": {
      "thread.id": "140311870297792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "span_id": "a4b66905a413c627",
    "parent_span_id": "b086a528c1fc2661",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.937681Z",
    "timestamp": "2026-08-24T06:27:10.937712Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18942
    },
    "data": {
      "thread.id": "140311870297792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "span_id": "9a76561bef94c98b",
    "parent_span_id": "889a735e09c5ff8f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:10.937746Z",
    "timestamp": "2026-08-24T06:27:10.937757Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18942
    },
    "data": {
      "thread.id": "140311870297792",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "span_id": "8721dbff3fcbb58d",
    "parent_span_id": "889a735e09c5ff8f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:10.939269Z",
    "timestamp": "2026-08-24T06:27:11.829564Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140311941663616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bc7cac3de1a87326",
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:10.931974Z",
    "timestamp": "2026-08-24T06:27:11.849878Z",
    "data": {
      "thread.id": "140311941663616",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "889a735e09c5ff8f",
    "trace_id": "7ab5866c1c02461094f27d93fd2062bf",
    "parent_span_id": "bc7cac3de1a87326",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552830.933417,
    "timestamp": 1787552831.84589,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140311941663616",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552831-6oG9e7sgjmR3FJDQu1yF",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "A test message is repeated many times to create a lengthy input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5442,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bc7cac3de1a87326",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Conversation ID LLM Test (sync, streaming)❗︎ 1⚠︎ 17203ms
checkAISpanCount(4)
checkChatSpanAttributes
8a4fdf9egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a4fdf9egen_ai.output.messagesMissing output messages attribute
a07e1c8dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a07e1c8dgen_ai.output.messagesMissing output messages attribute
84b6bb84gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
84b6bb84gen_ai.output.messagesMissing output messages attribute
b21376cagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b21376cagen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8a4fdf9egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a07e1c8dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
84b6bb84gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b21376cagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "9ca252806d629bdd",
    "parent_span_id": "8a4fdf9eed3d303b",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:11.071761Z",
    "timestamp": "2026-08-24T06:27:11.074099Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18949
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "8eacd19155f16d17",
    "parent_span_id": "8a4fdf9eed3d303b",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.074170Z",
    "timestamp": "2026-08-24T06:27:11.074555Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18949
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "896e7aa96d822e0e",
    "parent_span_id": "8eacd19155f16d17",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.074516Z",
    "timestamp": "2026-08-24T06:27:11.074547Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18949
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "baf4f58de058b643",
    "parent_span_id": "8a4fdf9eed3d303b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.074583Z",
    "timestamp": "2026-08-24T06:27:11.074593Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18949
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "a4c6f741c8218659",
    "parent_span_id": "8a4fdf9eed3d303b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:11.075701Z",
    "timestamp": "2026-08-24T06:27:13.283020Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "9a50ac9eee402a12",
    "parent_span_id": "a07e1c8dfb4a0c6c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:13.432151Z",
    "timestamp": "2026-08-24T06:27:14.403207Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 66,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "89f073df71c1f815",
    "parent_span_id": "84b6bb84bc10f58f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:14.790165Z",
    "timestamp": "2026-08-24T06:27:15.704554Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 92,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "span_id": "a8f29282d312eefc",
    "parent_span_id": "b21376ca3371f231",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:15.772390Z",
    "timestamp": "2026-08-24T06:27:16.770146Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 118,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8eb98bb29cf05605",
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:11.069049Z",
    "timestamp": "2026-08-24T06:27:16.795507Z",
    "data": {
      "thread.id": "140289757932416",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8a4fdf9eed3d303b",
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "parent_span_id": "8eb98bb29cf05605",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552831.071304,
    "timestamp": 1787552833.421591,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552832-S1ZZbQZ0pbIsIzSXaoSM",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8eb98bb29cf05605",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a07e1c8dfb4a0c6c",
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "parent_span_id": "8eb98bb29cf05605",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552833.431149,
    "timestamp": 1787552834.788589,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552833-zrjrtZpQyrRFU4gHshTv",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most basic addition facts in math. When you combine 2 groups of 2 objects, you get 4 objects total.\n\nIs there anything else you'd like help with?",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 59,
      "gen_ai.usage.total_tokens": 82,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8eb98bb29cf05605",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "84b6bb84bc10f58f",
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "parent_span_id": "8eb98bb29cf05605",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552834.789252,
    "timestamp": 1787552835.770864,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552835-fdl2otgn6wVcYI2pFX6R",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8eb98bb29cf05605",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b21376ca3371f231",
    "trace_id": "a9ca5789d9b4450db7aab48ec960361a",
    "parent_span_id": "8eb98bb29cf05605",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552835.771494,
    "timestamp": 1787552836.795457,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140289757932416",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552836-24rRa8M7dPaQeFzZB0vE",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8eb98bb29cf05605",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Conversation ID LLM Test (sync, blocking)❗︎ 1⚠︎ 14846ms
checkAISpanCount(4)
checkChatSpanAttributes
a7b4f399gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a7b4f399gen_ai.output.messagesMissing output messages attribute
93982542gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93982542gen_ai.output.messagesMissing output messages attribute
870ab58agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
870ab58agen_ai.output.messagesMissing output messages attribute
ba6acc31gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba6acc31gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a7b4f399gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
93982542gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
870ab58agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ba6acc31gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "90acbb4cef036f48",
    "parent_span_id": "a7b4f39910d4e90c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:11.183332Z",
    "timestamp": "2026-08-24T06:27:11.184503Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18953
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "84b2e11fb0a06ab1",
    "parent_span_id": "a7b4f39910d4e90c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.184571Z",
    "timestamp": "2026-08-24T06:27:11.185215Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18953
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "a49f02cd669c7caa",
    "parent_span_id": "84b2e11fb0a06ab1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.185166Z",
    "timestamp": "2026-08-24T06:27:11.185204Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18953
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "aa5583fa32658b59",
    "parent_span_id": "a7b4f39910d4e90c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.185244Z",
    "timestamp": "2026-08-24T06:27:11.185255Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18953
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "a75a5691646d36a3",
    "parent_span_id": "a7b4f39910d4e90c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:11.186354Z",
    "timestamp": "2026-08-24T06:27:11.911072Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "92cb440800369477",
    "parent_span_id": "93982542b58b5e0a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:11.944490Z",
    "timestamp": "2026-08-24T06:27:12.904079Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 60,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "8b23852bad32e76a",
    "parent_span_id": "870ab58a841b0a94",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:12.906126Z",
    "timestamp": "2026-08-24T06:27:13.859445Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 80,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "span_id": "9f4188b0691cd5b0",
    "parent_span_id": "ba6acc311bff7f5d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:13.861505Z",
    "timestamp": "2026-08-24T06:27:14.445986Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 100,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bded8822bc5c0985",
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:11.180913Z",
    "timestamp": "2026-08-24T06:27:14.446701Z",
    "data": {
      "thread.id": "139932367543168",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a7b4f39910d4e90c",
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "parent_span_id": "bded8822bc5c0985",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552831.181761,
    "timestamp": 1787552831.94217,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552831-hKY7iW29EniCfXiQrDzd",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bded8822bc5c0985",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "93982542b58b5e0a",
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "parent_span_id": "bded8822bc5c0985",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552831.942273,
    "timestamp": 1787552832.90483,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552831-sB1kyIMQa0jqEzbuAlRZ",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most fundamental addition facts in mathematics. When you combine 2 objects with 2 more objects, you get a total of 4 objects.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 51,
      "gen_ai.usage.total_tokens": 74,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bded8822bc5c0985",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "870ab58a841b0a94",
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "parent_span_id": "bded8822bc5c0985",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552832.90493,
    "timestamp": 1787552833.860166,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552832-ldJNa1ZQCI5OHNQwuRYD",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bded8822bc5c0985",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba6acc311bff7f5d",
    "trace_id": "40cc376c818348629ae0a6e54841bf0f",
    "parent_span_id": "bded8822bc5c0985",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552833.860263,
    "timestamp": 1787552834.446654,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139932367543168",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552833-3JoX5QBtQngB75jDmYJO",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bded8822bc5c0985",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Conversation ID LLM Test (async, streaming)❗︎ 1⚠︎ 14187ms
checkAISpanCount(4)
checkChatSpanAttributes
9c1ab71egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c1ab71egen_ai.output.messagesMissing output messages attribute
9ad2c5cbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9ad2c5cbgen_ai.output.messagesMissing output messages attribute
8e85726fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8e85726fgen_ai.output.messagesMissing output messages attribute
9350426cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9350426cgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9c1ab71egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9ad2c5cbgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8e85726fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9350426cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "ae2798ef5ecf520f",
    "parent_span_id": "9c1ab71e532bdf68",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:11.329261Z",
    "timestamp": "2026-08-24T06:27:11.330155Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18959
    },
    "data": {
      "thread.id": "140497574164160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "8e53f873731addce",
    "parent_span_id": "9c1ab71e532bdf68",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.330219Z",
    "timestamp": "2026-08-24T06:27:11.330781Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18959
    },
    "data": {
      "thread.id": "140497574164160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "a74c6058755911d6",
    "parent_span_id": "8e53f873731addce",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.330728Z",
    "timestamp": "2026-08-24T06:27:11.330766Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18959
    },
    "data": {
      "thread.id": "140497574164160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "b246fe0850e62611",
    "parent_span_id": "9c1ab71e532bdf68",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.330812Z",
    "timestamp": "2026-08-24T06:27:11.330824Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18959
    },
    "data": {
      "thread.id": "140497574164160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "83542f12eb099294",
    "parent_span_id": "9c1ab71e532bdf68",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:11.331922Z",
    "timestamp": "2026-08-24T06:27:11.954453Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 43,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "8585f4052d6d9340",
    "parent_span_id": "9ad2c5cbf38af79c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:11.988555Z",
    "timestamp": "2026-08-24T06:27:12.489345Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 67,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "8af970b6b222166c",
    "parent_span_id": "8e85726feb843551",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:12.921318Z",
    "timestamp": "2026-08-24T06:27:13.449337Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 93,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "span_id": "b553d173dfc6832b",
    "parent_span_id": "9350426cc8b79c2e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:13.477988Z",
    "timestamp": "2026-08-24T06:27:14.025178Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 119,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ac63c5503189d857",
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:11.326650Z",
    "timestamp": "2026-08-24T06:27:14.067296Z",
    "data": {
      "thread.id": "140497719516032",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9c1ab71e532bdf68",
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "parent_span_id": "ac63c5503189d857",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552831.328667,
    "timestamp": 1787552831.986981,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552831-9TbAncMLvZRMmiEG20lt",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ac63c5503189d857",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9ad2c5cbf38af79c",
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "parent_span_id": "ac63c5503189d857",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552831.98745,
    "timestamp": 1787552832.919775,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552832-7IjL487hYrF8OA4itdlh",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most basic addition facts in mathematics. When you combine 2 items with 2 more items, you end up with a total of 4 items.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 53,
      "gen_ai.usage.total_tokens": 76,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ac63c5503189d857",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8e85726feb843551",
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "parent_span_id": "ac63c5503189d857",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552832.920406,
    "timestamp": 1787552833.476503,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552832-KJZJiaPUHXffeQPj211E",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ac63c5503189d857",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9350426cc8b79c2e",
    "trace_id": "85af8e82a5c5410c8da2ac811c3c6e02",
    "parent_span_id": "ac63c5503189d857",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552833.477128,
    "timestamp": 1787552834.061637,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "140497719516032",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": true,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552833-6f5UqcE3UVsxVAbCrqr0",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ac63c5503189d857",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/anthropic :: Conversation ID LLM Test (async, blocking)❗︎ 1⚠︎ 14139ms
checkAISpanCount(4)
checkChatSpanAttributes
89b91681gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89b91681gen_ai.output.messagesMissing output messages attribute
bcc1a15bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bcc1a15bgen_ai.output.messagesMissing output messages attribute
bade5fb4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bade5fb4gen_ai.output.messagesMissing output messages attribute
a8cf307agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8cf307agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
89b91681gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
bcc1a15bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
bade5fb4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a8cf307agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "b2abedf61c2a64fb",
    "parent_span_id": "89b91681d5df721d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:11.838403Z",
    "timestamp": "2026-08-24T06:27:11.841708Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18970
    },
    "data": {
      "thread.id": "139919229974208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "9b9a86aaaa58b28a",
    "parent_span_id": "89b91681d5df721d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.841780Z",
    "timestamp": "2026-08-24T06:27:11.841900Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18970
    },
    "data": {
      "thread.id": "139919229974208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "bce6b3b6b7234dd3",
    "parent_span_id": "9b9a86aaaa58b28a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.841861Z",
    "timestamp": "2026-08-24T06:27:11.841893Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18970
    },
    "data": {
      "thread.id": "139919229974208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "ba96a0717a9b2cfd",
    "parent_span_id": "89b91681d5df721d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:11.841931Z",
    "timestamp": "2026-08-24T06:27:11.841943Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 18970
    },
    "data": {
      "thread.id": "139919229974208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "8a58927e1f04e1a9",
    "parent_span_id": "89b91681d5df721d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:11.843369Z",
    "timestamp": "2026-08-24T06:27:12.480546Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 43,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "98bce9e22855752b",
    "parent_span_id": "bcc1a15b87f5616e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:12.496986Z",
    "timestamp": "2026-08-24T06:27:13.361384Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 61,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "8d3d185d850ceb13",
    "parent_span_id": "bade5fb4e5365378",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:13.363394Z",
    "timestamp": "2026-08-24T06:27:14.053305Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 81,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "span_id": "bd6f14dd753e9f5a",
    "parent_span_id": "a8cf307a4b14cc06",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:14.055250Z",
    "timestamp": "2026-08-24T06:27:14.589316Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 101,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ad89ef28366b6b4b",
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:11.834775Z",
    "timestamp": "2026-08-24T06:27:14.596471Z",
    "data": {
      "thread.id": "139919379753856",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "89b91681d5df721d",
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "parent_span_id": "ad89ef28366b6b4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552831.836374,
    "timestamp": 1787552832.496043,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552831-Azm80hQvj2dCrJtvXvvk",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad89ef28366b6b4b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bcc1a15b87f5616e",
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "parent_span_id": "ad89ef28366b6b4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552832.496122,
    "timestamp": 1787552833.362086,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552832-KW4YtEeZ9qApPAwd36su",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most fundamental addition problems! When you add two groups of 2 items together, you get a total of 4 items.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 47,
      "gen_ai.usage.total_tokens": 70,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad89ef28366b6b4b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bade5fb4e5365378",
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "parent_span_id": "ad89ef28366b6b4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552833.362187,
    "timestamp": 1787552834.053971,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552833-tAu720x96cUgKg1fxBod",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad89ef28366b6b4b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a8cf307a4b14cc06",
    "trace_id": "81fc2a0c25924658b5a8f9760533adc6",
    "parent_span_id": "ad89ef28366b6b4b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552834.054064,
    "timestamp": 1787552834.589951,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.anthropic",
      "thread.id": "139919379753856",
      "thread.name": "MainThread",
      "gen_ai.response.streaming": false,
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.max_tokens": 1024,
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.id": "gen-1787552834-jOZorFXAI2XeIdLvEyxq",
      "gen_ai.response.finish_reasons": [
        "end_turn"
      ],
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.input_tokens.cached": 0,
      "gen_ai.usage.input_tokens.cache_write": 0,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad89ef28366b6b4b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Basic LLM Test (sync, streaming)❗︎ 1⚠︎ 14650ms
checkAISpanCount(1)
checkChatSpanAttributes
a50da9cfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a50da9cfgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a50da9cfgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "7aa0cac8cdc44ac5b5850a0e5a65c910",
    "span_id": "8ebbf8fd09c60394",
    "parent_span_id": "a50da9cfdc5115dd",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:15.275058Z",
    "timestamp": "2026-08-24T06:27:15.529035Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140197837396864",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "86504e19b6ffd842",
    "trace_id": "7aa0cac8cdc44ac5b5850a0e5a65c910",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.272776Z",
    "timestamp": "2026-08-24T06:27:15.550122Z",
    "data": {
      "thread.id": "140197837396864",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a50da9cfdc5115dd",
    "trace_id": "7aa0cac8cdc44ac5b5850a0e5a65c910",
    "parent_span_id": "86504e19b6ffd842",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.273543,
    "timestamp": 1787552835.550074,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140197837396864",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "86504e19b6ffd842",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Basic LLM Test (sync, blocking)❗︎ 15048ms
checkAISpanCount(1)
checkChatSpanAttributes
98c30f92gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
98c30f92gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "4980b215e38643ff8e61055c5ced3150",
    "span_id": "bed23882d52f91ef",
    "parent_span_id": "98c30f92fc7ea3fc",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.402979Z",
    "timestamp": "2026-08-24T06:27:15.768732Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139714150935424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a38560cb88dd2b64",
    "trace_id": "4980b215e38643ff8e61055c5ced3150",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.399540Z",
    "timestamp": "2026-08-24T06:27:15.773106Z",
    "data": {
      "thread.id": "139714150935424",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "98c30f92fc7ea3fc",
    "trace_id": "4980b215e38643ff8e61055c5ced3150",
    "parent_span_id": "a38560cb88dd2b64",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.401457,
    "timestamp": 1787552835.773035,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139714150935424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "Q-SLaumGHbWuqtsPg-_6iAc",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a38560cb88dd2b64",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Basic LLM Test (async, streaming)❗︎ 1⚠︎ 14861ms
checkAISpanCount(1)
checkChatSpanAttributes
87715c1egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
87715c1egen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
87715c1egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "f73423e114d4419882f730effe1de17e",
    "span_id": "bd16d0fafc625319",
    "parent_span_id": "87715c1e87a498cf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:15.387753Z",
    "timestamp": "2026-08-24T06:27:15.694770Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139819120974720",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a0b4bec143ead32f",
    "trace_id": "f73423e114d4419882f730effe1de17e",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.385118Z",
    "timestamp": "2026-08-24T06:27:15.702408Z",
    "data": {
      "thread.id": "139819120974720",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "87715c1e87a498cf",
    "trace_id": "f73423e114d4419882f730effe1de17e",
    "parent_span_id": "a0b4bec143ead32f",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.386177,
    "timestamp": 1787552835.700805,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139819120974720",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a0b4bec143ead32f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Basic LLM Test (async, blocking)❗︎ 14466ms
checkAISpanCount(1)
checkChatSpanAttributes
831ca1c1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
831ca1c1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "d893b4c72f194d7ca742ff9a769a0a35",
    "span_id": "bfd051fb2083cb01",
    "parent_span_id": "831ca1c178140ab9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.408419Z",
    "timestamp": "2026-08-24T06:27:15.735932Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140565270932352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bf47069a280d5650",
    "trace_id": "d893b4c72f194d7ca742ff9a769a0a35",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.399094Z",
    "timestamp": "2026-08-24T06:27:15.744972Z",
    "data": {
      "thread.id": "140565270932352",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "831ca1c178140ab9",
    "trace_id": "d893b4c72f194d7ca742ff9a769a0a35",
    "parent_span_id": "bf47069a280d5650",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.400585,
    "timestamp": 1787552835.740202,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140565270932352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "Q-SLauegHpyzmtkPs9OsKQ",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "bf47069a280d5650",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Multi-Turn LLM Test (sync, streaming)❗︎ 1⚠︎ 15327ms
checkAISpanCount(3)
checkChatSpanAttributes
99ac453egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99ac453egen_ai.output.messagesMissing output messages attribute
8b1fed62gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b1fed62gen_ai.output.messagesMissing output messages attribute
b9683377gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b9683377gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
99ac453egen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8b1fed62gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b9683377gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "span_id": "9d98b55deddc9545",
    "parent_span_id": "99ac453e0c75e866",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:15.396718Z",
    "timestamp": "2026-08-24T06:27:15.693636Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140430289984384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "span_id": "a9daef833edc7f91",
    "parent_span_id": "8b1fed62227cdcf5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:15.706143Z",
    "timestamp": "2026-08-24T06:27:15.914174Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140430289984384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "span_id": "b54b56a0efac3d4f",
    "parent_span_id": "b96833773aeef59f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:16.030960Z",
    "timestamp": "2026-08-24T06:27:16.225638Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140430289984384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 86,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a50a168fea169bcc",
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.390890Z",
    "timestamp": "2026-08-24T06:27:16.891005Z",
    "data": {
      "thread.id": "140430289984384",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "99ac453e0c75e866",
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "parent_span_id": "a50a168fea169bcc",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.395099,
    "timestamp": 1787552835.704755,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140430289984384",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a50a168fea169bcc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8b1fed62227cdcf5",
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "parent_span_id": "a50a168fea169bcc",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.704903,
    "timestamp": 1787552836.022747,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140430289984384",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 29,
      "gen_ai.usage.total_tokens": 45,
      "gen_ai.response.text": "[\"I need more information to answer your question. Please tell me which city you are referring to. I can then look up its population for you.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a50a168fea169bcc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b96833773aeef59f",
    "trace_id": "815f4f7f8d7d4b968eabe066951dd639",
    "parent_span_id": "a50a168fea169bcc",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552836.022889,
    "timestamp": 1787552836.890933,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140430289984384",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 293,
      "gen_ai.usage.total_tokens": 307,
      "gen_ai.response.text": "[\"To give you the most relevant information about a \\\"metropolitan area,\\\" I need a little more context!\\n\\n**Please tell me:**\\n\\n*   **Which metropolitan area are you interested in?** For example, are you thinking about:\\n    *   **New York City Metropolitan Area?**\\n    *   **Los Angeles Metropolitan Area?**\\n    *   **London Metropolitan Area?**\\n    *   **Tokyo Metropolitan Area?**\\n    *   **A specific city you have in mind?**\\n\\nOnce I know which metropolitan area you're referring to, I can provide information on topics like:\\n\\n*   **Geography and Size:** How large is it? What are its main geographical features?\\n*   **Population:** How many people live there? What are the population trends?\\n*   **Economy:** What are the major industries? What is the economic strength?\\n*   **Culture and Attractions:** What is there to see and do? What are its cultural highlights?\\n*   **Transportation:** How do people get around? What are the major transport networks?\\n*   **Demographics:** What is the ethnic and age makeup of the population?\\n*   **Housing:** What is the housing market like?\\n*   **Challenges and Opportunities:** What are the current issues facing the area? What are its future prospects?\\n\\n**Looking forward to hearing which metropolitan area you're curious about!**\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a50a168fea169bcc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Multi-Turn LLM Test (sync, blocking)❗︎ 14769ms
checkAISpanCount(3)
checkChatSpanAttributes
8c4172f2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c4172f2gen_ai.output.messagesMissing output messages attribute
a4a6642egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4a6642egen_ai.output.messagesMissing output messages attribute
a3d3a3a6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a3d3a3a6gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "span_id": "846e035622c8e65a",
    "parent_span_id": "8c4172f29b9eb60c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.387526Z",
    "timestamp": "2026-08-24T06:27:15.678098Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140270617320320",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "span_id": "97d5be3d8819435c",
    "parent_span_id": "a4a6642e1d88e2f4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.686687Z",
    "timestamp": "2026-08-24T06:27:15.967775Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140270617320320",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "span_id": "863aa6505f27c67f",
    "parent_span_id": "a3d3a3a6f1ae77ec",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.974889Z",
    "timestamp": "2026-08-24T06:27:16.645923Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140270617320320",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9dd3fc47863ae4fe",
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.382223Z",
    "timestamp": "2026-08-24T06:27:16.646797Z",
    "data": {
      "thread.id": "140270617320320",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8c4172f29b9eb60c",
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "parent_span_id": "9dd3fc47863ae4fe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.385975,
    "timestamp": 1787552835.685306,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140270617320320",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "Q-SLavr_G4vpqtsPqr2WqAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9dd3fc47863ae4fe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a4a6642e1d88e2f4",
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "parent_span_id": "9dd3fc47863ae4fe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.685464,
    "timestamp": 1787552835.968644,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140270617320320",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "Q-SLasaeLNSxqtsPl4DEMA",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.text": "[\"I need more information to answer your question. Please tell me which city you are referring to.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9dd3fc47863ae4fe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a3d3a3a6f1ae77ec",
    "trace_id": "32a04571e38d4daeb273430e7145b8b9",
    "parent_span_id": "9dd3fc47863ae4fe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.968793,
    "timestamp": 1787552836.646736,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140270617320320",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "ROSLauBzzrGq2w_D5JUR",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 255,
      "gen_ai.usage.total_tokens": 269,
      "gen_ai.response.text": "[\"To give you the best answer about \\\"the metropolitan area,\\\" I need a little more information! \\\"Metropolitan area\\\" is a general term, and it can refer to many different things.\\n\\nCould you tell me:\\n\\n*   **Which metropolitan area are you interested in?** For example, are you asking about:\\n    *   A specific city's metropolitan area (e.g., \\\"the New York metropolitan area,\\\" \\\"the Tokyo metropolitan area,\\\" \\\"the London metropolitan area\\\")?\\n    *   A general concept of what a metropolitan area is?\\n    *   A metropolitan area in a particular country or region?\\n\\n*   **What specifically do you want to know about it?** Are you curious about:\\n    *   Its **definition** and characteristics?\\n    *   Its **population**?\\n    *   Its **geography**?\\n    *   Its **economy**?\\n    *   Its **culture**?\\n    *   Its **transportation**?\\n    *   Its **challenges** or **opportunities**?\\n    *   How it's **defined statistically**?\\n\\nOnce I have a bit more context, I can provide you with a much more specific and helpful answer!\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9dd3fc47863ae4fe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Multi-Turn LLM Test (async, streaming)❗︎ 1⚠︎ 15035ms
checkAISpanCount(3)
checkChatSpanAttributes
85c04265gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85c04265gen_ai.output.messagesMissing output messages attribute
88bc54e2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88bc54e2gen_ai.output.messagesMissing output messages attribute
8b13cc45gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b13cc45gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
85c04265gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
88bc54e2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
8b13cc45gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "span_id": "95b7cf5d2645a7af",
    "parent_span_id": "85c04265965b7d82",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:15.336129Z",
    "timestamp": "2026-08-24T06:27:15.647712Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140450510465920",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "span_id": "8230c58547c5efed",
    "parent_span_id": "88bc54e2717805b9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:15.681560Z",
    "timestamp": "2026-08-24T06:27:15.936296Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140450510465920",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 64,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "span_id": "bb7392762616bfc0",
    "parent_span_id": "8b13cc45fdc08293",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:16.071468Z",
    "timestamp": "2026-08-24T06:27:16.261218Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140450510465920",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 87,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "87d1b5e6667e41e7",
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.331687Z",
    "timestamp": "2026-08-24T06:27:16.899033Z",
    "data": {
      "thread.id": "140450510465920",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "85c04265965b7d82",
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "parent_span_id": "87d1b5e6667e41e7",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.333344,
    "timestamp": 1787552835.680098,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140450510465920",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "87d1b5e6667e41e7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "88bc54e2717805b9",
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "parent_span_id": "87d1b5e6667e41e7",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.680258,
    "timestamp": 1787552836.070083,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140450510465920",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 56,
      "gen_ai.usage.total_tokens": 72,
      "gen_ai.response.text": "[\"I need a bit more information to answer your question! You asked \\\"What is the population of **that** city?\\\"\\n\\nCould you please tell me which city you're referring to? Once you provide the name of the city, I can look up its population for you.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "87d1b5e6667e41e7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8b13cc45fdc08293",
    "trace_id": "0e30a617e9d94ffeaf4f80522a846dc6",
    "parent_span_id": "87d1b5e6667e41e7",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552836.070231,
    "timestamp": 1787552836.89513,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140450510465920",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 229,
      "gen_ai.usage.total_tokens": 243,
      "gen_ai.response.text": "[\"To give you the most relevant information about a metropolitan area, I need a little more context. Please tell me:\\n\\n*   **Which metropolitan area are you interested in?** (e.g., \\\"What about the **New York City metropolitan area**?\\\" or \\\"What about the **Tokyo metropolitan area**?\\\")\\n\\nOnce I know which one you're asking about, I can tell you about:\\n\\n*   **Its size and population:** How many people live there, and how geographically extensive is it?\\n*   **Key cities and suburbs:** What are the main urban centers and surrounding areas?\\n*   **Economy and industries:** What drives the economic activity of the region?\\n*   **Culture and attractions:** What are the notable cultural features, landmarks, and things to do?\\n*   **Transportation:** How do people get around within the metropolitan area?\\n*   **Demographics:** What is the general makeup of the population?\\n*   **Current issues or trends:** Are there any significant challenges or developments happening in the area?\\n\\nLooking forward to hearing which metropolitan area you're curious about!\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "87d1b5e6667e41e7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Multi-Turn LLM Test (async, blocking)❗︎ 14215ms
checkAISpanCount(3)
checkChatSpanAttributes
827f3261gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
827f3261gen_ai.output.messagesMissing output messages attribute
81e6e7f9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81e6e7f9gen_ai.output.messagesMissing output messages attribute
8113dafcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8113dafcgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "span_id": "be4831f5c9ffffed",
    "parent_span_id": "827f326195596b15",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.509489Z",
    "timestamp": "2026-08-24T06:27:15.831504Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139848007162752",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "span_id": "9b26a7fd844237b2",
    "parent_span_id": "81e6e7f90440708c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:15.837318Z",
    "timestamp": "2026-08-24T06:27:16.181567Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139848007162752",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "span_id": "b27a80d4518eb286",
    "parent_span_id": "8113dafcd260740b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:16.187040Z",
    "timestamp": "2026-08-24T06:27:16.879942Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139848007162752",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 64,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "95f8fb36b71bdc87",
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:15.503940Z",
    "timestamp": "2026-08-24T06:27:16.892999Z",
    "data": {
      "thread.id": "139848007162752",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "827f326195596b15",
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "parent_span_id": "95f8fb36b71bdc87",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.507759,
    "timestamp": 1787552835.835852,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139848007162752",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "Q-SLaoXTI-2V6dkP-PnfmQc",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 22,
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "95f8fb36b71bdc87",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "81e6e7f90440708c",
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "parent_span_id": "95f8fb36b71bdc87",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552835.836033,
    "timestamp": 1787552836.182513,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139848007162752",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "Q-SLarivN8mvqtsP3pulqAw",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 35,
      "gen_ai.response.text": "[\"I need more information to answer your question. Please tell me which city you are referring to.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "95f8fb36b71bdc87",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8113dafcd260740b",
    "trace_id": "8bb0ddfd72f64a21904d161cbc3594ee",
    "parent_span_id": "95f8fb36b71bdc87",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552836.185729,
    "timestamp": 1787552836.880793,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139848007162752",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "ROSLarH6DaupqtsPqt_swAE",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 14,
      "gen_ai.usage.output_tokens": 219,
      "gen_ai.usage.total_tokens": 233,
      "gen_ai.response.text": "[\"To give you the best information about a metropolitan area, I need a little more context! \\\"Metropolitan area\\\" is a general term.\\n\\nPlease tell me:\\n\\n*   **Which metropolitan area are you interested in?** For example, \\\"the New York metropolitan area,\\\" \\\"the Los Angeles metropolitan area,\\\" \\\"the London metropolitan area,\\\" \\\"the Tokyo metropolitan area,\\\" or \\\"the metropolitan area around [a specific city].\\\"\\n*   **What specifically about the metropolitan area are you curious about?** Are you interested in:\\n    *   **Population and demographics?**\\n    *   **Geography and size?**\\n    *   **Economy and major industries?**\\n    *   **Transportation and infrastructure?**\\n    *   **Culture and attractions?**\\n    *   **Cost of living?**\\n    *   **Housing market?**\\n    *   **Recent news or developments?**\\n    *   **Its definition or boundaries?**\\n\\nOnce I have this information, I can provide you with a much more specific and helpful answer!\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "95f8fb36b71bdc87",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Vision LLM Test (sync, streaming)❗︎ 1⚠︎ 14581ms
checkChatSpanAttributes
9e2f6c93gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e2f6c93gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
9e2f6c93gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "bf9e6d9d99494afaaecc523dabc762d3",
    "span_id": "a53a5b2e40dcfb72",
    "parent_span_id": "9e2f6c93bd376abb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:19.460844Z",
    "timestamp": "2026-08-24T06:27:19.905624Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140603255393152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 43,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b579c4989791929f",
    "trace_id": "bf9e6d9d99494afaaecc523dabc762d3",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:19.453029Z",
    "timestamp": "2026-08-24T06:27:19.913732Z",
    "data": {
      "thread.id": "140603255393152",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9e2f6c93bd376abb",
    "trace_id": "bf9e6d9d99494afaaecc523dabc762d3",
    "parent_span_id": "b579c4989791929f",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552839.453768,
    "timestamp": 1787552839.91369,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140603255393152",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"text\": \"What color is this image? Reply with just the color name.\", \"type\": \"text\"}, {\"inline_data\": {\"mime_type\": \"image/png\", \"data\": \"[Blob substitute]\"}}]}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "[\"Coral\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b579c4989791929f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Vision LLM Test (sync, blocking)❗︎ 14296ms
checkChatSpanAttributes
872858bbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
872858bbgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "b0bbfd6b0f9047e7af42fddd45a83156",
    "span_id": "8119eabbb79cd6af",
    "parent_span_id": "872858bb751f08a1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:19.455320Z",
    "timestamp": "2026-08-24T06:27:19.895241Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140391949880192",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a6ac978432f8ae10",
    "trace_id": "b0bbfd6b0f9047e7af42fddd45a83156",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:19.450059Z",
    "timestamp": "2026-08-24T06:27:19.896496Z",
    "data": {
      "thread.id": "140391949880192",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "872858bb751f08a1",
    "trace_id": "b0bbfd6b0f9047e7af42fddd45a83156",
    "parent_span_id": "a6ac978432f8ae10",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552839.453166,
    "timestamp": 1787552839.896434,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140391949880192",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"text\": \"What color is this image? Reply with just the color name.\", \"type\": \"text\"}, {\"inline_data\": {\"mime_type\": \"image/png\", \"data\": \"[Blob substitute]\"}}]}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "R-SLatnfH7WkqtsPt9-5wAU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "[\"Coral\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "a6ac978432f8ae10",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Vision LLM Test (async, streaming)❗︎ 1⚠︎ 14398ms
checkChatSpanAttributes
91539bb2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91539bb2gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
91539bb2gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "9bc3a523226644ecae20c948128f1392",
    "span_id": "a98741c44aa5dba1",
    "parent_span_id": "91539bb214f6b770",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:19.324648Z",
    "timestamp": "2026-08-24T06:27:19.739574Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140587599199104",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b88658cab500a443",
    "trace_id": "9bc3a523226644ecae20c948128f1392",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:19.315634Z",
    "timestamp": "2026-08-24T06:27:19.751919Z",
    "data": {
      "thread.id": "140587599199104",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "91539bb214f6b770",
    "trace_id": "9bc3a523226644ecae20c948128f1392",
    "parent_span_id": "b88658cab500a443",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552839.319355,
    "timestamp": 1787552839.746115,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140587599199104",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"text\": \"What color is this image? Reply with just the color name.\", \"type\": \"text\"}, {\"inline_data\": {\"mime_type\": \"image/png\", \"data\": \"[Blob substitute]\"}}]}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "[\"Coral\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b88658cab500a443",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Vision LLM Test (async, blocking)❗︎ 14683ms
checkChatSpanAttributes
ad5e1d17gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad5e1d17gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "ff3eaf562aa94fb29b37c5fe0b90a748",
    "span_id": "85fda572c24c6d73",
    "parent_span_id": "ad5e1d177524b797",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:20.726461Z",
    "timestamp": "2026-08-24T06:27:21.182576Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140046744599424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8be32aef9c1e5ea7",
    "trace_id": "ff3eaf562aa94fb29b37c5fe0b90a748",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:20.719818Z",
    "timestamp": "2026-08-24T06:27:21.191168Z",
    "data": {
      "thread.id": "140046744599424",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ad5e1d177524b797",
    "trace_id": "ff3eaf562aa94fb29b37c5fe0b90a748",
    "parent_span_id": "8be32aef9c1e5ea7",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.721041,
    "timestamp": 1787552841.189948,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140046744599424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"text\": \"What color is this image? Reply with just the color name.\", \"type\": \"text\"}, {\"inline_data\": {\"mime_type\": \"image/png\", \"data\": \"[Blob substitute]\"}}]}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SOSLauO9MZTg8QGzkcKgBQ",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 286,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 287,
      "gen_ai.response.text": "[\"Coral\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8be32aef9c1e5ea7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Long Input LLM Test (sync, streaming)❗︎ 1⚠︎ 14364ms
checkChatSpanAttributes
857193ccgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
857193ccgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
857193ccgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "e76bc03d9f554e7d8c44770c15de7969",
    "span_id": "9b58d1c3ffcc3f1b",
    "parent_span_id": "857193cc4e245887",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:20.803800Z",
    "timestamp": "2026-08-24T06:27:21.026667Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140068598295424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b04fcfe8d5016ae1",
    "trace_id": "e76bc03d9f554e7d8c44770c15de7969",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:20.801054Z",
    "timestamp": "2026-08-24T06:27:21.059806Z",
    "data": {
      "thread.id": "140068598295424",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "857193cc4e245887",
    "trace_id": "e76bc03d9f554e7d8c44770c15de7969",
    "parent_span_id": "b04fcfe8d5016ae1",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.80188,
    "timestamp": 1787552841.059751,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140068598295424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.input_tokens.cached": 5108,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5433,
      "gen_ai.response.text": "[\"This is a repeated test message intended to create a very long input.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b04fcfe8d5016ae1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Long Input LLM Test (sync, blocking)❗︎ 14512ms
checkChatSpanAttributes
82f31986gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82f31986gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "4fb398db951945738b921342519f7347",
    "span_id": "b30ce8ac46221435",
    "parent_span_id": "82f319867371057c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:20.800016Z",
    "timestamp": "2026-08-24T06:27:21.093668Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140479577107328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b954edbdcb6eaafa",
    "trace_id": "4fb398db951945738b921342519f7347",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:20.794552Z",
    "timestamp": "2026-08-24T06:27:21.096997Z",
    "data": {
      "thread.id": "140479577107328",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "82f319867371057c",
    "trace_id": "4fb398db951945738b921342519f7347",
    "parent_span_id": "b954edbdcb6eaafa",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.79804,
    "timestamp": 1787552841.09692,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140479577107328",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SOSLasCyNYS1qtsPk4eVoQI",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.input_tokens.cached": 5108,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.text": "[\"This is a test message designed to be repeated numerous times to create a very long input.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b954edbdcb6eaafa",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Long Input LLM Test (async, streaming)❗︎ 1⚠︎ 13637ms
checkChatSpanAttributes
81a3be23gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81a3be23gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
81a3be23gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "81ef8c45618d42d9b8feb628dd8de23b",
    "span_id": "989f92e6932b69e7",
    "parent_span_id": "81a3be232cc9e37f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:19.681275Z",
    "timestamp": "2026-08-24T06:27:19.962782Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139750257159040",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8cc8d54778490e13",
    "trace_id": "81ef8c45618d42d9b8feb628dd8de23b",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:19.670117Z",
    "timestamp": "2026-08-24T06:27:20.010911Z",
    "data": {
      "thread.id": "139750257159040",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81a3be232cc9e37f",
    "trace_id": "81ef8c45618d42d9b8feb628dd8de23b",
    "parent_span_id": "8cc8d54778490e13",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552839.673337,
    "timestamp": 1787552840.001321,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139750257159040",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.input_tokens.cached": 5108,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5437,
      "gen_ai.response.text": "[\"This is a test message that will be repeated many times to create a very long input.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "8cc8d54778490e13",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Long Input LLM Test (async, blocking)❗︎ 14335ms
checkChatSpanAttributes
9c7d4687gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c7d4687gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "34035358da6e48d2ac067a01c4f8da64",
    "span_id": "9a79e4b5b7ef4e86",
    "parent_span_id": "9c7d4687c5922c88",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:21.004041Z",
    "timestamp": "2026-08-24T06:27:21.351652Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140051924409216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "98b151f4ab2c0829",
    "trace_id": "34035358da6e48d2ac067a01c4f8da64",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:20.998325Z",
    "timestamp": "2026-08-24T06:27:21.356248Z",
    "data": {
      "thread.id": "140051924409216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9c7d4687c5922c88",
    "trace_id": "34035358da6e48d2ac067a01c4f8da64",
    "parent_span_id": "98b151f4ab2c0829",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.001875,
    "timestamp": 1787552841.353026,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140051924409216",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SeSLavi2BY-iqtsPnt-HuA0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 5419,
      "gen_ai.usage.input_tokens.cached": 5108,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5435,
      "gen_ai.response.text": "[\"This input consists of a repeatedly stated test message to create a very long text.\"]",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "98b151f4ab2c0829",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Conversation ID LLM Test (sync, streaming)❗︎ 1⚠︎ 15855ms
checkAISpanCount(4)
checkChatSpanAttributes
8a4ffcd3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a4ffcd3gen_ai.output.messagesMissing output messages attribute
a29d88b8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a29d88b8gen_ai.output.messagesMissing output messages attribute
9c8a0715gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c8a0715gen_ai.output.messagesMissing output messages attribute
ae6370b9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae6370b9gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8a4ffcd3gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
a29d88b8gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
9c8a0715gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
ae6370b9gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "span_id": "9eb325f6381d1ed7",
    "parent_span_id": "8a4ffcd30c7a74e9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:21.010493Z",
    "timestamp": "2026-08-24T06:27:21.277741Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "span_id": "9f7183782cb32d9c",
    "parent_span_id": "a29d88b841c0e578",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:21.287423Z",
    "timestamp": "2026-08-24T06:27:21.480228Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 65,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "span_id": "8e685e1dbd877ea8",
    "parent_span_id": "9c8a0715c3bf9539",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:21.513173Z",
    "timestamp": "2026-08-24T06:27:21.748111Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 89,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "span_id": "b081a27f53aa08d3",
    "parent_span_id": "ae6370b9a9c0fb57",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:22.421248Z",
    "timestamp": "2026-08-24T06:27:22.632803Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 113,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8cc926d072ba9f0e",
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:21.006844Z",
    "timestamp": "2026-08-24T06:27:22.671727Z",
    "data": {
      "thread.id": "139799399721856",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8a4ffcd30c7a74e9",
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "parent_span_id": "8cc926d072ba9f0e",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.007733,
    "timestamp": 1787552841.285909,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 22,
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8cc926d072ba9f0e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a29d88b841c0e578",
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "parent_span_id": "8cc926d072ba9f0e",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.286077,
    "timestamp": 1787552841.511765,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.response.text": "[\"2 + 2 equals 4.\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8cc926d072ba9f0e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c8a0715c3bf9539",
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "parent_span_id": "8cc926d072ba9f0e",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.511918,
    "timestamp": 1787552842.41984,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 12,
      "gen_ai.usage.output_tokens": 295,
      "gen_ai.usage.total_tokens": 307,
      "gen_ai.response.text": "[\"Germany is a fascinating country with a rich and complex history, a vibrant culture, and a significant role in the global economy. To give you a helpful answer, I need a little more direction. What specifically about Germany are you interested in?\\n\\nFor example, are you curious about:\\n\\n**Its History?**\\n*   World Wars I and II?\\n*   The Cold War and division into East and West Germany?\\n*   Reunification?\\n*   Its role in the Roman Empire?\\n\\n**Its Culture?**\\n*   Art, music, and literature?\\n*   Festivals like Oktoberfest?\\n*   Food and drink (beer, sausages, etc.)?\\n*   Philosophy?\\n\\n**Its Politics and Society?**\\n*   Its current government and political system?\\n*   Social issues, immigration, or integration?\\n*   Its role in the European Union?\\n\\n**Its Economy?**\\n*   Its industrial strength (automotive, engineering)?\\n*   Its economic policies?\\n*   Its role as an exporter?\\n\\n**Its Geography and Travel?**\\n*   Major cities like Berlin, Munich, or Hamburg?\\n*   Natural landscapes (Black Forest, Alps)?\\n*   Travel tips or popular tourist destinations?\\n\\n**Something else entirely?**\\n\\nOnce you tell me what aspect of Germany you'd like to know about, I can provide a more specific and detailed answer.\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8cc926d072ba9f0e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae6370b9a9c0fb57",
    "trace_id": "9be1474213b84c4f9310c6d47ecafd71",
    "parent_span_id": "8cc926d072ba9f0e",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552842.420005,
    "timestamp": 1787552842.671675,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139799399721856",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 26,
      "gen_ai.response.text": "[\"3 + 3 is equal to 6.\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8cc926d072ba9f0e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Conversation ID LLM Test (sync, blocking)❗︎ 16966ms
checkAISpanCount(4)
checkChatSpanAttributes
b1f5fe36gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b1f5fe36gen_ai.output.messagesMissing output messages attribute
811ca3adgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
811ca3adgen_ai.output.messagesMissing output messages attribute
8c823ab9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c823ab9gen_ai.output.messagesMissing output messages attribute
a9ac4e7dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a9ac4e7dgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "span_id": "b3ad947c293827ea",
    "parent_span_id": "b1f5fe36dec1051c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:20.205770Z",
    "timestamp": "2026-08-24T06:27:20.492154Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "span_id": "990bc9c2cf1f3178",
    "parent_span_id": "811ca3ad63c9afb1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:20.501964Z",
    "timestamp": "2026-08-24T06:27:20.751786Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "span_id": "83f91d24704d3be5",
    "parent_span_id": "8c823ab9284637e2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:20.757201Z",
    "timestamp": "2026-08-24T06:27:23.413967Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 66,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "span_id": "a656a721558cb8d5",
    "parent_span_id": "a9ac4e7dffe877c8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:23.422237Z",
    "timestamp": "2026-08-24T06:27:23.692594Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 83,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "97018fceafa8a370",
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:20.195819Z",
    "timestamp": "2026-08-24T06:27:23.693508Z",
    "data": {
      "thread.id": "139631021435776",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b1f5fe36dec1051c",
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "parent_span_id": "97018fceafa8a370",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.204172,
    "timestamp": 1787552840.500457,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SOSLapmcEcCLqtsP7eHZgAI",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 22,
      "gen_ai.response.text": "[\"The capital of France is Paris.\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97018fceafa8a370",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "811ca3ad63c9afb1",
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "parent_span_id": "97018fceafa8a370",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.500648,
    "timestamp": 1787552840.752748,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SOSLavHzIP2_qtsPmryZkAs",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.response.text": "[\"2 + 2 equals 4.\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97018fceafa8a370",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8c823ab9284637e2",
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "parent_span_id": "97018fceafa8a370",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.752895,
    "timestamp": 1787552843.414856,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SOSLarLnMLiJqtsPwJXB8AE",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 12,
      "gen_ai.usage.output_tokens": 905,
      "gen_ai.usage.total_tokens": 917,
      "gen_ai.response.text": "[\"Germany is a fascinating country with a rich and complex history, a vibrant culture, and a significant impact on the world. To give you a comprehensive answer, it's helpful to know what aspects of Germany you're most interested in.\\n\\nHowever, I can provide you with a broad overview covering several key areas:\\n\\n**Key Facts:**\\n\\n*   **Capital:** Berlin\\n*   **Largest City:** Berlin\\n*   **Population:** Approximately 83 million people\\n*   **Language:** German\\n*   **Government:** Federal parliamentary republic\\n*   **Currency:** Euro (\\u20ac)\\n*   **Major Industries:** Automotive, mechanical engineering, chemicals, pharmaceuticals, electrical engineering, renewable energy.\\n*   **Geography:** Located in Central Europe, bordering nine other countries. Features diverse landscapes from the North Sea and Baltic coasts in the north to the Alps in the south.\\n\\n**History:**\\n\\nGermany's history is marked by significant periods:\\n\\n*   **Holy Roman Empire:** A complex political entity that existed for a millennium.\\n*   **Prussia:** Rose to prominence in the 18th and 19th centuries, playing a key role in German unification.\\n*   **Unification of Germany (1871):** Under Otto von Bismarck, leading to the German Empire.\\n*   **World War I (1914-1918):** Germany was a central power and suffered a defeat.\\n*   **Weimar Republic (1918-1933):** A period of democracy that struggled with economic instability and political extremism.\\n*   **Nazi Germany and World War II (1933-1945):** Led by Adolf Hitler, this regime orchestrated the Holocaust and plunged the world into war, resulting in immense destruction and loss of life.\\n*   **Division of Germany (1949-1990):** After WWII, Germany was divided into West Germany (Federal Republic of Germany) and East Germany (German Democratic Republic), separated by the Iron Curtain.\\n*   **Reunification of Germany (1990):** Following the fall of the Berlin Wall in 1989, the two German states were reunified.\\n\\n**Culture:**\\n\\nGermany has a profound cultural heritage:\\n\\n*   **Philosophy:** Home to influential thinkers like Kant, Hegel, Nietzsche, and Marx.\\n*   **Music:** Birthplace of classical composers like Bach, Beethoven, Mozart (though Austrian, he worked extensively in German-speaking lands), Brahms, and Wagner.\\n*   **Literature:** Renowned authors include Goethe, Schiller, Thomas Mann, and G\\u00fcnter Grass.\\n*   **Science and Technology:** A long history of innovation and scientific breakthroughs.\\n*   **Art and Architecture:** From medieval cathedrals to Bauhaus modernism, German art and architecture are diverse and influential.\\n*   **Festivals:** Famous for its Oktoberfest (Munich), Christmas markets, and numerous regional festivals.\\n*   **Cuisine:** Known for its hearty food like sausages (Wurst), schnitzel, pretzels, and a wide variety of breads and beers.\\n\\n**Politics and Economy:**\\n\\n*   **Federal System:** Germany is a federal republic with 16 states (L\\u00e4nder), each having its own government.\\n*   **European Union:** A founding member and a leading economic and political force within the EU.\\n*   **Strong Economy:** Germany has the largest economy in Europe and the fourth-largest globally. It's a major exporter, particularly of high-quality manufactured goods.\\n*   **Social Market Economy:** Combines a capitalist market economy with social policies aimed at ensuring a degree of social welfare and equality.\\n\\n**Modern Germany:**\\n\\nToday, Germany is a stable democracy, a key player on the international stage, and a leader in areas like renewable energy and technological innovation. It grapples with contemporary issues such as immigration, climate change, and its role in a changing global order.\\n\\n**To help me give you more specific information, could you tell me what you'd like to know about Germany? For example, are you interested in:**\\n\\n*   Its history?\\n*   Its culture and traditions?\\n*   Its economy or industries?\\n*   Its geography and tourist attractions?\\n*   Its political system?\\n*   Something else entirely?\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97018fceafa8a370",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a9ac4e7dffe877c8",
    "trace_id": "eb5a3e0418cf4f1c901e04bc9c3ea4da",
    "parent_span_id": "97018fceafa8a370",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552843.415022,
    "timestamp": 1787552843.693455,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "139631021435776",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "S-SLauj6G_-CmtkP7K_YiAI",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 34,
      "gen_ai.response.text": "[\"3 + 3 = 6.\\n\\nDo you want to try another addition problem?\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97018fceafa8a370",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Conversation ID LLM Test (async, streaming)❗︎ 1⚠︎ 16089ms
checkAISpanCount(4)
checkChatSpanAttributes
81e54589gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81e54589gen_ai.output.messagesMissing output messages attribute
b5176be9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b5176be9gen_ai.output.messagesMissing output messages attribute
b6b09c47gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b6b09c47gen_ai.output.messagesMissing output messages attribute
b4a56451gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4a56451gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
81e54589gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b5176be9gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b6b09c47gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
b4a56451gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "span_id": "941ffadfc7d5bb3b",
    "parent_span_id": "81e54589740878e9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:20.992154Z",
    "timestamp": "2026-08-24T06:27:21.235904Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "span_id": "993a2560953f4001",
    "parent_span_id": "b5176be936193401",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:21.251843Z",
    "timestamp": "2026-08-24T06:27:21.487447Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 66,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "span_id": "883c2721056f048e",
    "parent_span_id": "b6b09c479650ea35",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:21.526965Z",
    "timestamp": "2026-08-24T06:27:21.734257Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "span_id": "a24f6fc53cdcc109",
    "parent_span_id": "b4a56451b859402f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
    "start_timestamp": "2026-08-24T06:27:22.639518Z",
    "timestamp": "2026-08-24T06:27:22.866274Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:streamGenerateContent",
      "http.query": "alt=sse",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 114,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a256255221714cfe",
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:20.989127Z",
    "timestamp": "2026-08-24T06:27:22.906225Z",
    "data": {
      "thread.id": "140615865158528",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81e54589740878e9",
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "parent_span_id": "a256255221714cfe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552840.99034,
    "timestamp": 1787552841.244471,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a256255221714cfe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b5176be936193401",
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "parent_span_id": "a256255221714cfe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.244636,
    "timestamp": 1787552841.522289,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 7,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"2 + 2 = 4\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a256255221714cfe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b6b09c479650ea35",
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "parent_span_id": "a256255221714cfe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.522459,
    "timestamp": 1787552842.638138,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 12,
      "gen_ai.usage.output_tokens": 307,
      "gen_ai.usage.total_tokens": 319,
      "gen_ai.response.text": "[\"Germany is a fascinating country with a rich and complex history, a vibrant culture, and a significant role in the global economy. To give you the most helpful information, I need a little more context. What specifically about Germany are you interested in?\\n\\nFor example, are you curious about:\\n\\n**General Information:**\\n*   Its geography and major cities?\\n*   Its population and demographics?\\n*   Its government and political system?\\n*   Its climate?\\n\\n**History:**\\n*   Its role in World Wars I and II?\\n*   The Cold War and the division of Germany?\\n*   German unification?\\n*   Specific historical periods or events?\\n\\n**Culture:**\\n*   Its art, music, and literature?\\n*   Its famous traditions and festivals (like Oktoberfest)?\\n*   Its cuisine and beer culture?\\n*   Its language?\\n\\n**Economy and Industry:**\\n*   Its reputation for engineering and manufacturing (e.g., cars)?\\n*   Its role in the European Union?\\n*   Its economic strengths and challenges?\\n\\n**Travel and Tourism:**\\n*   Popular tourist destinations?\\n*   Tips for visiting Germany?\\n*   What to expect as a tourist?\\n\\n**Current Events/Politics:**\\n*   Its current government and key political issues?\\n*   Its foreign policy?\\n\\n**Something else entirely?**\\n\\nOnce you tell me what you're interested in, I can provide you with much more specific and detailed information!\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a256255221714cfe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4a56451b859402f",
    "trace_id": "1be2df4135744d1f87978b10fb29a5c3",
    "parent_span_id": "a256255221714cfe",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552842.6383,
    "timestamp": 1787552842.903011,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140615865158528",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.response.streaming": true,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 26,
      "gen_ai.response.text": "[\"3 + 3 is equal to 6.\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a256255221714cfe",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/google-genai :: Conversation ID LLM Test (async, blocking)❗︎ 15061ms
checkAISpanCount(4)
checkChatSpanAttributes
9f106061gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f106061gen_ai.output.messagesMissing output messages attribute
9be62581gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9be62581gen_ai.output.messagesMissing output messages attribute
851ac020gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
851ac020gen_ai.output.messagesMissing output messages attribute
968ddc8egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
968ddc8egen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "span_id": "bfaa2ff7504dd003",
    "parent_span_id": "9f10606175cf4e9b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:21.887044Z",
    "timestamp": "2026-08-24T06:27:22.141479Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 33,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "span_id": "a34f2d68aaefe9bf",
    "parent_span_id": "9be6258126fe4659",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:22.151340Z",
    "timestamp": "2026-08-24T06:27:22.426233Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "span_id": "926b184c3efc2394",
    "parent_span_id": "851ac0201e444242",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:22.438852Z",
    "timestamp": "2026-08-24T06:27:23.405030Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 67,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "span_id": "9ab0c883daa22a4b",
    "parent_span_id": "968ddc8ee8997cfb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
    "start_timestamp": "2026-08-24T06:27:23.416286Z",
    "timestamp": "2026-08-24T06:27:23.725954Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite:generateContent",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8790633688665fff",
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:27:21.884266Z",
    "timestamp": "2026-08-24T06:27:23.734814Z",
    "data": {
      "thread.id": "140028102548352",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9f10606175cf4e9b",
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "parent_span_id": "8790633688665fff",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552841.885448,
    "timestamp": 1787552842.14988,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SeSLatS_Oqu7qtsP74iN8Qk",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 15,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 23,
      "gen_ai.response.text": "[\"The capital of France is **Paris**.\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8790633688665fff",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9be6258126fe4659",
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "parent_span_id": "8790633688665fff",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552842.150067,
    "timestamp": 1787552842.427254,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SuSLarrZC92J6dkP85GgwQU",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 15,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.response.text": "[\"That's a classic! 2 + 2 equals **4**.\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8790633688665fff",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "851ac0201e444242",
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "parent_span_id": "8790633688665fff",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552842.42743,
    "timestamp": 1787552843.405911,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "SuSLaumuHYDBqtsPiICH4Q0",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 12,
      "gen_ai.usage.output_tokens": 249,
      "gen_ai.usage.total_tokens": 261,
      "gen_ai.response.text": "[\"Germany is a fascinating country with a rich and complex history, a vibrant culture, and a significant global impact. To give you the most helpful information, I need a little more direction.\\n\\nCould you tell me what specifically about Germany you're interested in? For example, are you curious about:\\n\\n**History:**\\n*   World War II and its aftermath?\\n*   The Cold War and reunification?\\n*   Medieval or ancient German history?\\n\\n**Culture:**\\n*   German traditions and holidays (like Oktoberfest)?\\n*   German art, music, or literature?\\n*   German food and drink?\\n*   German language?\\n\\n**Politics and Economy:**\\n*   The current political landscape?\\n*   Germany's role in the European Union?\\n*   Its economic strengths and challenges?\\n\\n**Geography and Tourism:**\\n*   Famous landmarks or cities (Berlin, Munich, the Black Forest)?\\n*   Natural landscapes?\\n*   Travel tips for visiting Germany?\\n\\n**Science and Technology:**\\n*   Innovations or notable scientists?\\n*   Its role in engineering and manufacturing?\\n\\nOnce you tell me what sparks your interest, I can provide a more focused and detailed answer!\"]",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8790633688665fff",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "968ddc8ee8997cfb",
    "trace_id": "ccd40db76e814410ac0e3259eb5f8e6f",
    "parent_span_id": "8790633688665fff",
    "op": "gen_ai.chat",
    "description": "chat gemini-2.5-flash-lite",
    "start_timestamp": 1787552843.40606,
    "timestamp": 1787552843.726796,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.google_genai",
      "thread.id": "140028102548352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.system": "gcp.gemini",
      "gen_ai.request.model": "gemini-2.5-flash-lite",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": "STOP",
      "gen_ai.response.id": "S-SLasvKHM-vqtsPjqvM2QQ",
      "gen_ai.response.model": "gemini-2.5-flash-lite",
      "gen_ai.usage.input_tokens": 16,
      "gen_ai.usage.output_tokens": 8,
      "gen_ai.usage.total_tokens": 24,
      "gen_ai.response.text": "[\"3 + 3 equals 6.\"]",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8790633688665fff",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (sync, streaming, openai)❗︎ 114853ms
checkAISpanCount(1)
checkChatSpanAttributes
ab9cd1e3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab9cd1e3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "span_id": "ab7650a5445b1bc8",
    "parent_span_id": "ab9cd1e3c85ed3d8",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:32.728396Z",
    "timestamp": "2026-08-24T06:27:32.734723Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19179
    },
    "data": {
      "thread.id": "139749136264064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "span_id": "940fb2548a146a79",
    "parent_span_id": "ab9cd1e3c85ed3d8",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.734824Z",
    "timestamp": "2026-08-24T06:27:32.734945Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19179
    },
    "data": {
      "thread.id": "139749136264064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "span_id": "ae47dac9d5d669e1",
    "parent_span_id": "940fb2548a146a79",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.734908Z",
    "timestamp": "2026-08-24T06:27:32.734939Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19179
    },
    "data": {
      "thread.id": "139749136264064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "span_id": "a88a9ad7e4d4fcf5",
    "parent_span_id": "ab9cd1e3c85ed3d8",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.734972Z",
    "timestamp": "2026-08-24T06:27:32.734983Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19179
    },
    "data": {
      "thread.id": "139749136264064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "span_id": "a08930693b19f27f",
    "parent_span_id": "ab9cd1e3c85ed3d8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:32.736158Z",
    "timestamp": "2026-08-24T06:27:34.479052Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139749136264064",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ba3d76e91d8847a8",
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:32.403489Z",
    "timestamp": "2026-08-24T06:27:34.603493Z",
    "data": {
      "thread.id": "139749136264064",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab9cd1e3c85ed3d8",
    "trace_id": "9d35dfef0f0448cc95831d441380f051",
    "parent_span_id": "ba3d76e91d8847a8",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552852.721604,
    "timestamp": 1787552854.603408,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139749136264064",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "ba3d76e91d8847a8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (sync, streaming, anthropic)❗︎ 1⚠︎ 115124ms
checkAISpanCount(1)
checkChatSpanAttributes
906b8ae1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
906b8ae1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
906b8ae1gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "span_id": "9c1a8d9772449d8d",
    "parent_span_id": "906b8ae1b06fbe6e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:33.546263Z",
    "timestamp": "2026-08-24T06:27:33.548356Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19181
    },
    "data": {
      "thread.id": "140655559969664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "span_id": "84552f4d504b1f72",
    "parent_span_id": "906b8ae1b06fbe6e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.548427Z",
    "timestamp": "2026-08-24T06:27:33.548573Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19181
    },
    "data": {
      "thread.id": "140655559969664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "span_id": "935f2b1642715de5",
    "parent_span_id": "84552f4d504b1f72",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.548527Z",
    "timestamp": "2026-08-24T06:27:33.548565Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19181
    },
    "data": {
      "thread.id": "140655559969664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "span_id": "9e1ba144db1b15a1",
    "parent_span_id": "906b8ae1b06fbe6e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.548603Z",
    "timestamp": "2026-08-24T06:27:33.548631Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19181
    },
    "data": {
      "thread.id": "140655559969664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "span_id": "b772f7f7197cfbe8",
    "parent_span_id": "906b8ae1b06fbe6e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:33.549784Z",
    "timestamp": "2026-08-24T06:27:35.045966Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140655559969664",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 35,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "91fd620120bd6335",
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:33.514496Z",
    "timestamp": "2026-08-24T06:27:35.092416Z",
    "data": {
      "thread.id": "140655559969664",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "906b8ae1b06fbe6e",
    "trace_id": "755f7830452945c69e4763ab44bbad85",
    "parent_span_id": "91fd620120bd6335",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552853.516899,
    "timestamp": 1787552855.092344,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140655559969664",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "91fd620120bd6335",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (sync, blocking, openai)❗︎ 114260ms
checkAISpanCount(1)
checkChatSpanAttributes
ae92bb12gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae92bb12gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "span_id": "ac97e43c85adfc9f",
    "parent_span_id": "ae92bb12bbd0c95e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:32.427426Z",
    "timestamp": "2026-08-24T06:27:32.435372Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19171
    },
    "data": {
      "thread.id": "140579610024832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "span_id": "933d31e70afbbcd2",
    "parent_span_id": "ae92bb12bbd0c95e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.435438Z",
    "timestamp": "2026-08-24T06:27:32.435546Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19171
    },
    "data": {
      "thread.id": "140579610024832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "span_id": "817f3a0b9cae5287",
    "parent_span_id": "933d31e70afbbcd2",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.435513Z",
    "timestamp": "2026-08-24T06:27:32.435541Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19171
    },
    "data": {
      "thread.id": "140579610024832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "span_id": "b8718755e2149209",
    "parent_span_id": "ae92bb12bbd0c95e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.435574Z",
    "timestamp": "2026-08-24T06:27:32.435584Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19171
    },
    "data": {
      "thread.id": "140579610024832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "span_id": "acfebf21e0bacf56",
    "parent_span_id": "ae92bb12bbd0c95e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:32.436791Z",
    "timestamp": "2026-08-24T06:27:34.276835Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140579610024832",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ae9d7c67b52aa820",
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:32.399289Z",
    "timestamp": "2026-08-24T06:27:34.288303Z",
    "data": {
      "thread.id": "140579610024832",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ae92bb12bbd0c95e",
    "trace_id": "5bc2388baee84d3db45477c0ecc731d5",
    "parent_span_id": "ae9d7c67b52aa820",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552852.411727,
    "timestamp": 1787552854.288203,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140579610024832",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 267,
      "gen_ai.usage.total_tokens": 290,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 256,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "ae9d7c67b52aa820",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (sync, blocking, anthropic)❗︎ 1⚠︎ 114559ms
checkAISpanCount(1)
checkChatSpanAttributes
8d24f760gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d24f760gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8d24f760gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "span_id": "a5189b9d86802301",
    "parent_span_id": "8d24f7605ce38830",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:33.673603Z",
    "timestamp": "2026-08-24T06:27:33.675225Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19189
    },
    "data": {
      "thread.id": "139891957492608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "span_id": "8b8aec456502dcf4",
    "parent_span_id": "8d24f7605ce38830",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.675315Z",
    "timestamp": "2026-08-24T06:27:33.676047Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19189
    },
    "data": {
      "thread.id": "139891957492608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "span_id": "9a58fa25560ec58f",
    "parent_span_id": "8b8aec456502dcf4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.675892Z",
    "timestamp": "2026-08-24T06:27:33.676036Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19189
    },
    "data": {
      "thread.id": "139891957492608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "span_id": "a70079678455f6ee",
    "parent_span_id": "8d24f7605ce38830",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.676084Z",
    "timestamp": "2026-08-24T06:27:33.676100Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19189
    },
    "data": {
      "thread.id": "139891957492608",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "span_id": "a266fed320bedd97",
    "parent_span_id": "8d24f7605ce38830",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:33.677225Z",
    "timestamp": "2026-08-24T06:27:34.500130Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139891957492608",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "97df2a42ab222f3e",
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:33.639868Z",
    "timestamp": "2026-08-24T06:27:34.537964Z",
    "data": {
      "thread.id": "139891957492608",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8d24f7605ce38830",
    "trace_id": "811d91a4d10a4cc084af458f8cfb290b",
    "parent_span_id": "97df2a42ab222f3e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552853.642069,
    "timestamp": 1787552854.537858,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139891957492608",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is **Paris**. It is the country's largest city and has been the capital since the 12th century. Paris is located in the north-central part of France along the Seine River.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 47,
      "gen_ai.usage.total_tokens": 67,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "97df2a42ab222f3e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (async, streaming, openai)❗︎ 113987ms
checkAISpanCount(1)
checkChatSpanAttributes
bfd4a44dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bfd4a44dgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "span_id": "aa2112e66bd6cc0c",
    "parent_span_id": "bfd4a44dc38ee8d1",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:32.642809Z",
    "timestamp": "2026-08-24T06:27:32.644029Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19177
    },
    "data": {
      "thread.id": "140126382843584",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "span_id": "848aa03478bf7350",
    "parent_span_id": "bfd4a44dc38ee8d1",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.644106Z",
    "timestamp": "2026-08-24T06:27:32.647901Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19177
    },
    "data": {
      "thread.id": "140126382843584",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "span_id": "8c966582d64ac41d",
    "parent_span_id": "848aa03478bf7350",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.647845Z",
    "timestamp": "2026-08-24T06:27:32.647889Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19177
    },
    "data": {
      "thread.id": "140126382843584",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "span_id": "94c23b5a806e6a6e",
    "parent_span_id": "bfd4a44dc38ee8d1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.647934Z",
    "timestamp": "2026-08-24T06:27:32.647948Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19177
    },
    "data": {
      "thread.id": "140126382843584",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "span_id": "a54a6a8352a55640",
    "parent_span_id": "bfd4a44dc38ee8d1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:32.653475Z",
    "timestamp": "2026-08-24T06:27:34.511370Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140126513425280",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aba73b492c317a05",
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:32.612572Z",
    "timestamp": "2026-08-24T06:27:34.584846Z",
    "data": {
      "thread.id": "140126513425280",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bfd4a44dc38ee8d1",
    "trace_id": "e7f8ac8507164850afa902a55ea622a0",
    "parent_span_id": "aba73b492c317a05",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552852.628042,
    "timestamp": 1787552854.580643,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140126382843584",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "aba73b492c317a05",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (async, streaming, anthropic)❗︎ 1⚠︎ 113862ms
checkAISpanCount(1)
checkChatSpanAttributes
b0f7c4fdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b0f7c4fdgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b0f7c4fdgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "span_id": "9ef6295bb78a5020",
    "parent_span_id": "b0f7c4fd58e84da6",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:33.651569Z",
    "timestamp": "2026-08-24T06:27:33.652923Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19187
    },
    "data": {
      "thread.id": "140687519508160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "span_id": "a7a56df96da59cec",
    "parent_span_id": "b0f7c4fd58e84da6",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.652990Z",
    "timestamp": "2026-08-24T06:27:33.653956Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19187
    },
    "data": {
      "thread.id": "140687519508160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "span_id": "97deaeb69a10faf4",
    "parent_span_id": "a7a56df96da59cec",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.653770Z",
    "timestamp": "2026-08-24T06:27:33.653944Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19187
    },
    "data": {
      "thread.id": "140687519508160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "span_id": "9d83e03a947c21e5",
    "parent_span_id": "b0f7c4fd58e84da6",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.653993Z",
    "timestamp": "2026-08-24T06:27:33.654009Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19187
    },
    "data": {
      "thread.id": "140687519508160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "span_id": "9be4c8c5e8b9931f",
    "parent_span_id": "b0f7c4fd58e84da6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:33.655561Z",
    "timestamp": "2026-08-24T06:27:34.268009Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140687650347904",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "96016e9e946b0966",
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:33.617071Z",
    "timestamp": "2026-08-24T06:27:34.742927Z",
    "data": {
      "thread.id": "140687650347904",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b0f7c4fd58e84da6",
    "trace_id": "96125675c49c4534bf93585bacbe8d04",
    "parent_span_id": "96016e9e946b0966",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552853.620067,
    "timestamp": 1787552854.739155,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140687519508160",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is **Paris**. It is the country's largest city and has been the capital since the 12th century. Paris is located in northern-central France and is known for its iconic landmarks such as the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 67,
      "gen_ai.usage.total_tokens": 87,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "96016e9e946b0966",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (async, blocking, openai)❗︎ 113219ms
checkAISpanCount(1)
checkChatSpanAttributes
85d9bfc8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85d9bfc8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "span_id": "89dac49c4823f079",
    "parent_span_id": "85d9bfc86bb01176",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:32.420560Z",
    "timestamp": "2026-08-24T06:27:32.423710Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19169
    },
    "data": {
      "thread.id": "140012700034752",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "span_id": "b3c04334887b46cb",
    "parent_span_id": "85d9bfc86bb01176",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.423781Z",
    "timestamp": "2026-08-24T06:27:32.423901Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19169
    },
    "data": {
      "thread.id": "140012700034752",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "span_id": "afdffbc6c6318084",
    "parent_span_id": "b3c04334887b46cb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.423863Z",
    "timestamp": "2026-08-24T06:27:32.423895Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19169
    },
    "data": {
      "thread.id": "140012700034752",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "span_id": "8c354bc63de8da3c",
    "parent_span_id": "85d9bfc86bb01176",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.423931Z",
    "timestamp": "2026-08-24T06:27:32.423943Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19169
    },
    "data": {
      "thread.id": "140012700034752",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "span_id": "81598934f17fd924",
    "parent_span_id": "85d9bfc86bb01176",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:32.425343Z",
    "timestamp": "2026-08-24T06:27:34.199425Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140012830813056",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "a387f8983faf9d3f",
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:32.392569Z",
    "timestamp": "2026-08-24T06:27:34.207701Z",
    "data": {
      "thread.id": "140012830813056",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "85d9bfc86bb01176",
    "trace_id": "0561fedf028e4673b757c29f6aa277ac",
    "parent_span_id": "a387f8983faf9d3f",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552852.407219,
    "timestamp": 1787552854.206701,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140012700034752",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.total_tokens": 167,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 128,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a387f8983faf9d3f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic LLM Test (async, blocking, anthropic)❗︎ 1⚠︎ 113095ms
checkAISpanCount(1)
checkChatSpanAttributes
80918de0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80918de0gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
80918de0gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "span_id": "9dd0e2eeeef60c5e",
    "parent_span_id": "80918de0608f08d6",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:33.675380Z",
    "timestamp": "2026-08-24T06:27:33.676655Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19190
    },
    "data": {
      "thread.id": "139799962838720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "span_id": "a39c823dda94000f",
    "parent_span_id": "80918de0608f08d6",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.676724Z",
    "timestamp": "2026-08-24T06:27:33.677496Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19190
    },
    "data": {
      "thread.id": "139799962838720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "span_id": "8990575679575aa6",
    "parent_span_id": "a39c823dda94000f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.677356Z",
    "timestamp": "2026-08-24T06:27:33.677486Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19190
    },
    "data": {
      "thread.id": "139799962838720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "span_id": "8167cd07b9626ab1",
    "parent_span_id": "80918de0608f08d6",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.677530Z",
    "timestamp": "2026-08-24T06:27:33.677545Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19190
    },
    "data": {
      "thread.id": "139799962838720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "span_id": "b564d13cf1de8431",
    "parent_span_id": "80918de0608f08d6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:33.679055Z",
    "timestamp": "2026-08-24T06:27:34.258195Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139800093567872",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "a80f2fc9201c798f",
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:27:33.616781Z",
    "timestamp": "2026-08-24T06:27:34.276644Z",
    "data": {
      "thread.id": "139800093567872",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "80918de0608f08d6",
    "trace_id": "af43230f107b440285f7a7595df04f30",
    "parent_span_id": "a80f2fc9201c798f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552853.622882,
    "timestamp": 1787552854.275548,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139799962838720",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a80f2fc9201c798f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (sync, streaming, openai)❗︎ 130415ms
checkAISpanCount(3)
checkChatSpanAttributes
9789b168gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9789b168gen_ai.output.messagesMissing output messages attribute
88f546e7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
88f546e7gen_ai.output.messagesMissing output messages attribute
bddf06a3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bddf06a3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "9c4b3815d317654d",
    "parent_span_id": "9789b1687f233a56",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:32.431153Z",
    "timestamp": "2026-08-24T06:27:32.433739Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19170
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "b1e5393c6d8b1430",
    "parent_span_id": "9789b1687f233a56",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.433808Z",
    "timestamp": "2026-08-24T06:27:32.433920Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19170
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "944cfaf5776f761f",
    "parent_span_id": "b1e5393c6d8b1430",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.433885Z",
    "timestamp": "2026-08-24T06:27:32.433914Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19170
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "92e1fc8ff9a6538c",
    "parent_span_id": "9789b1687f233a56",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.433949Z",
    "timestamp": "2026-08-24T06:27:32.433960Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19170
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "8b81a99c292509eb",
    "parent_span_id": "9789b1687f233a56",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:32.441354Z",
    "timestamp": "2026-08-24T06:27:33.713997Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "be5e1e8154b89f4d",
    "parent_span_id": "88f546e7531cb10b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:33.755560Z",
    "timestamp": "2026-08-24T06:27:40.913180Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "span_id": "a6f618c788e9401f",
    "parent_span_id": "bddf06a395a07ca9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:41.255073Z",
    "timestamp": "2026-08-24T06:27:52.111095Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 59,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9a9175cbaa6e6a05",
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:32.401757Z",
    "timestamp": "2026-08-24T06:27:52.721578Z",
    "data": {
      "thread.id": "139922456095616",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9789b1687f233a56",
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "parent_span_id": "9a9175cbaa6e6a05",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552852.406017,
    "timestamp": 1787552853.752957,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139922456095616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 64,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9a9175cbaa6e6a05",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "88f546e7531cb10b",
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "parent_span_id": "9a9175cbaa6e6a05",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552853.753369,
    "timestamp": 1787552861.24542,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139922456095616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris city proper (the administrative commune) has about 2.1 million residents. The broader Paris metropolitan area (the urban area surrounding Paris) has about 12 million residents.\n\nIf you’d like the exact latest figure, please specify which definition you want (city proper vs. urban area) and the year, and I can provide the precise number.",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1553,
      "gen_ai.usage.total_tokens": 1601,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1472,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9a9175cbaa6e6a05",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bddf06a395a07ca9",
    "trace_id": "093efd38626a4514a1a28e8c9f45751d",
    "parent_span_id": "9a9175cbaa6e6a05",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552861.245976,
    "timestamp": 1787552872.72138,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139922456095616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "It depends on how you define “metropolitan area.” Here are the common definitions and rough figures:\n\n- Paris urban area (aire urbaine): about 12 million people. This is the continuous built-up area around Paris.\n- Île-de-France region (the wider Paris region): roughly 12.3 million (about 12–13 million in recent years, depending on year and method).\n- Métropole du Grand Paris (the intercommunal structure around Paris): about 7 million.\n\nThese numbers vary by source and year. Would you like me to pull the latest official figures from INSEE for one specific definition?",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1864,
      "gen_ai.usage.total_tokens": 1945,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1728,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9a9175cbaa6e6a05",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (sync, streaming, anthropic)❗︎ 1⚠︎ 115506ms
checkAISpanCount(3)
checkChatSpanAttributes
8ffd1349gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8ffd1349gen_ai.output.messagesMissing output messages attribute
ae1a9876gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae1a9876gen_ai.output.messagesMissing output messages attribute
91db59e2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91db59e2gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8ffd1349gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ae1a9876gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
91db59e2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "a82bed9c1ea4cdb9",
    "parent_span_id": "8ffd1349c5e8f3a7",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:33.689058Z",
    "timestamp": "2026-08-24T06:27:33.689897Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19191
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "870886009a72b5a2",
    "parent_span_id": "8ffd1349c5e8f3a7",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.689957Z",
    "timestamp": "2026-08-24T06:27:33.690417Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19191
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "9fdfe79bb5dbd3bd",
    "parent_span_id": "870886009a72b5a2",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.690380Z",
    "timestamp": "2026-08-24T06:27:33.690411Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19191
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "aa6e78195d84b622",
    "parent_span_id": "8ffd1349c5e8f3a7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.690440Z",
    "timestamp": "2026-08-24T06:27:33.690448Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19191
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "a0e617182079eccb",
    "parent_span_id": "8ffd1349c5e8f3a7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:33.691310Z",
    "timestamp": "2026-08-24T06:27:34.453661Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 35,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "b403914d0cdc5bb1",
    "parent_span_id": "ae1a98768b30d8cb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:34.493183Z",
    "timestamp": "2026-08-24T06:27:35.665232Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "span_id": "a11a5835958dffd4",
    "parent_span_id": "91db59e2c08620d1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:35.822929Z",
    "timestamp": "2026-08-24T06:27:36.604215Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a2bf8bf814a6b009",
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:33.655141Z",
    "timestamp": "2026-08-24T06:27:36.842035Z",
    "data": {
      "thread.id": "140667294047104",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8ffd1349c5e8f3a7",
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "parent_span_id": "a2bf8bf814a6b009",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552853.657239,
    "timestamp": 1787552854.491323,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140667294047104",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is **Paris**.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a2bf8bf814a6b009",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae1a98768b30d8cb",
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "parent_span_id": "a2bf8bf814a6b009",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552854.491769,
    "timestamp": 1787552855.812789,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140667294047104",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Paris has a population of approximately 2.1-2.2 million people within the city proper (as of recent estimates).\n\nHowever, the broader Paris metropolitan area (Île-de-France region) has a much larger population of around 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 71,
      "gen_ai.usage.total_tokens": 112,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a2bf8bf814a6b009",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91db59e2c08620d1",
    "trace_id": "ae27cd81fb3c44859fce4d0f410eb798",
    "parent_span_id": "a2bf8bf814a6b009",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552855.813233,
    "timestamp": 1787552856.841957,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140667294047104",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The Paris metropolitan area (known as the Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 41,
      "gen_ai.usage.total_tokens": 112,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a2bf8bf814a6b009",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (sync, blocking, openai)❗︎ 131711ms
checkAISpanCount(3)
checkChatSpanAttributes
81c4dbe0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81c4dbe0gen_ai.output.messagesMissing output messages attribute
b79f97f6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b79f97f6gen_ai.output.messagesMissing output messages attribute
9cbab76cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9cbab76cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "82574ee3152605a6",
    "parent_span_id": "81c4dbe0666164d5",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:32.500337Z",
    "timestamp": "2026-08-24T06:27:32.501701Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19173
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "8ca56a0d19294e2a",
    "parent_span_id": "81c4dbe0666164d5",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.501767Z",
    "timestamp": "2026-08-24T06:27:32.502460Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19173
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "a75c22acc3e7a117",
    "parent_span_id": "8ca56a0d19294e2a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.502410Z",
    "timestamp": "2026-08-24T06:27:32.502449Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19173
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "a0231bd063f50a32",
    "parent_span_id": "81c4dbe0666164d5",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:32.502492Z",
    "timestamp": "2026-08-24T06:27:32.502505Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19173
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "bc19e59b7b01a12c",
    "parent_span_id": "81c4dbe0666164d5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:32.503644Z",
    "timestamp": "2026-08-24T06:27:34.838224Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "87560a9b00519da7",
    "parent_span_id": "b79f97f6b187d7ee",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:34.871096Z",
    "timestamp": "2026-08-24T06:27:44.270514Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "span_id": "a91b916cf77f5415",
    "parent_span_id": "9cbab76cdb7d730e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:44.273431Z",
    "timestamp": "2026-08-24T06:27:54.559480Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 52,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a33027ea3796431a",
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:32.489121Z",
    "timestamp": "2026-08-24T06:27:54.560573Z",
    "data": {
      "thread.id": "140655144819584",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81c4dbe0666164d5",
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "parent_span_id": "a33027ea3796431a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552852.493665,
    "timestamp": 1787552854.865399,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140655144819584",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 64,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a33027ea3796431a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b79f97f6b187d7ee",
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "parent_span_id": "a33027ea3796431a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552854.865847,
    "timestamp": 1787552864.27131,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140655144819584",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Do you mean Paris city proper (the commune) or the wider Paris metropolitan area?\n\n- City proper: about 2.1 million residents (roughly 2.14–2.15 million; 2020 data).\n- Wider Paris metro area (Île-de-France): around 12 million residents (roughly 12–12.5 million in recent counts).\n\nIf you want a precise figure for a specific year or definition, tell me which one you need.",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1641,
      "gen_ai.usage.total_tokens": 1689,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1536,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a33027ea3796431a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9cbab76cdb7d730e",
    "trace_id": "d190c3e5e40543a7960dfc4cb5e2c60a",
    "parent_span_id": "a33027ea3796431a",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552864.27165,
    "timestamp": 1787552874.560485,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140655144819584",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "It depends on the definition:\n\n- Paris urban area (aire urbaine): roughly 12.5–13 million people.\n- Île-de-France region (the broader Greater Paris area, the administrative region): around 12–13 million in recent counts (about 12.3–12.5 million).\n\nIf you have a specific definition or year in mind, I can give a precise figure.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1883,
      "gen_ai.usage.total_tokens": 1964,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1792,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a33027ea3796431a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (sync, blocking, anthropic)❗︎ 1⚠︎ 114198ms
checkAISpanCount(3)
checkChatSpanAttributes
9351b6f4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9351b6f4gen_ai.output.messagesMissing output messages attribute
81366c8agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81366c8agen_ai.output.messagesMissing output messages attribute
b104d360gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b104d360gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9351b6f4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
81366c8agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b104d360gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "8de5c0658820c6bb",
    "parent_span_id": "9351b6f47dced271",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:33.766190Z",
    "timestamp": "2026-08-24T06:27:33.767019Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19193
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "af2734685e851280",
    "parent_span_id": "9351b6f47dced271",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.767057Z",
    "timestamp": "2026-08-24T06:27:33.767518Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19193
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "97110139931cdcfe",
    "parent_span_id": "af2734685e851280",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.767488Z",
    "timestamp": "2026-08-24T06:27:33.767514Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19193
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "98e3ec08912fffc0",
    "parent_span_id": "9351b6f47dced271",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:33.767536Z",
    "timestamp": "2026-08-24T06:27:33.767544Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19193
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "b011740f19c61f21",
    "parent_span_id": "9351b6f47dced271",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:33.768306Z",
    "timestamp": "2026-08-24T06:27:34.575175Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "bbe63b36bdc9cf9a",
    "parent_span_id": "81366c8a2fef1d7d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:34.658438Z",
    "timestamp": "2026-08-24T06:27:35.653423Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "span_id": "9bbe44be0a8cd672",
    "parent_span_id": "b104d36072cd9879",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:35.656283Z",
    "timestamp": "2026-08-24T06:27:36.434049Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a3694d019e8e8ea3",
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:33.744674Z",
    "timestamp": "2026-08-24T06:27:36.435093Z",
    "data": {
      "thread.id": "140121025538944",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9351b6f47dced271",
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "parent_span_id": "a3694d019e8e8ea3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552853.746863,
    "timestamp": 1787552854.653463,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140121025538944",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a3694d019e8e8ea3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "81366c8a2fef1d7d",
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "parent_span_id": "a3694d019e8e8ea3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552854.653913,
    "timestamp": 1787552855.654384,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140121025538944",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Paris has a population of approximately 2.1-2.2 million people within the city proper. However, the greater Paris metropolitan area (Île-de-France region) has a much larger population of around 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 65,
      "gen_ai.usage.total_tokens": 106,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a3694d019e8e8ea3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b104d36072cd9879",
    "trace_id": "84f5008112fa4086a7f72e56a2416ab7",
    "parent_span_id": "a3694d019e8e8ea3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552855.654779,
    "timestamp": 1787552856.435004,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140121025538944",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a3694d019e8e8ea3",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (async, streaming, openai)❗︎ 126139ms
checkAISpanCount(3)
checkChatSpanAttributes
835b1320gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
835b1320gen_ai.output.messagesMissing output messages attribute
ae2ae0bfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae2ae0bfgen_ai.output.messagesMissing output messages attribute
b0980407gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b0980407gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "a8e90ede1291f0a6",
    "parent_span_id": "835b1320f27fd3bf",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:41.203795Z",
    "timestamp": "2026-08-24T06:27:41.207705Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19238
    },
    "data": {
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "abc0578d5b4d466d",
    "parent_span_id": "835b1320f27fd3bf",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:41.207774Z",
    "timestamp": "2026-08-24T06:27:41.207895Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19238
    },
    "data": {
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "b5039f65820cd7fe",
    "parent_span_id": "abc0578d5b4d466d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:41.207856Z",
    "timestamp": "2026-08-24T06:27:41.207889Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19238
    },
    "data": {
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "a1f3065b70b3527d",
    "parent_span_id": "835b1320f27fd3bf",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:41.207925Z",
    "timestamp": "2026-08-24T06:27:41.207937Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19238
    },
    "data": {
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "95d0bd0b52dba7d8",
    "parent_span_id": "835b1320f27fd3bf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:41.211499Z",
    "timestamp": "2026-08-24T06:27:42.143080Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139737097939840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "a1accabe0739a399",
    "parent_span_id": "ae2ae0bf58eec835",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:42.202137Z",
    "timestamp": "2026-08-24T06:27:49.676198Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139737097939840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "span_id": "bf5b13f14a1c21b1",
    "parent_span_id": "b098040700a4064e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:50.078725Z",
    "timestamp": "2026-08-24T06:27:57.877253Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139737097939840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 60,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bd339645f1260603",
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:41.181864Z",
    "timestamp": "2026-08-24T06:27:58.729845Z",
    "data": {
      "thread.id": "139737097939840",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "835b1320f27fd3bf",
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "parent_span_id": "bd339645f1260603",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552861.188314,
    "timestamp": 1787552862.19315,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 64,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "bd339645f1260603",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ae2ae0bf58eec835",
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "parent_span_id": "bd339645f1260603",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552862.196879,
    "timestamp": 1787552870.066158,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris:\n\n- City proper (the commune): about 2.1 million people (roughly 2020 data).\n- Paris metropolitan area (the urban area): around 12 million people.\n- Île-de-France region (the larger regional area): about 12–13 million people.\n\nIf you’d like exact figures for a specific year or definition (city proper vs. metro vs. region), I can look up the precise numbers.",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1762,
      "gen_ai.usage.total_tokens": 1810,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1664,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "bd339645f1260603",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b098040700a4064e",
    "trace_id": "21a5a0b033924152b1f313c83fa9ed1b",
    "parent_span_id": "bd339645f1260603",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552870.069762,
    "timestamp": 1787552878.726353,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139736895190720",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "It depends on what you mean by “metropolitan area.” Different definitions give different numbers.\n\n- Paris metropolitan area (aire d’attraction de Paris): about 12.5–13 million people in recent estimates.\n- Île-de-France region (the larger metropolitan region that includes Paris and its suburbs): about 12.3–12.6 million.\n- Paris urban area / unité urbaine (the continuous built-up area): roughly 11 million.\n\nIf you tell me which definition you want (and the year), I can give a precise figure from INSEE or another source.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1664,
      "gen_ai.usage.total_tokens": 1745,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1536,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "bd339645f1260603",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (async, streaming, anthropic)❗︎ 1⚠︎ 111156ms
checkAISpanCount(3)
checkChatSpanAttributes
8d174cd2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d174cd2gen_ai.output.messagesMissing output messages attribute
975f762fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
975f762fgen_ai.output.messagesMissing output messages attribute
a18f8b12gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a18f8b12gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8d174cd2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
975f762fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a18f8b12gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "98e2bc0e020832c5",
    "parent_span_id": "8d174cd25b9119f3",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:42.380857Z",
    "timestamp": "2026-08-24T06:27:42.385744Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19242
    },
    "data": {
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "b6280536ecb93431",
    "parent_span_id": "8d174cd25b9119f3",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:42.385843Z",
    "timestamp": "2026-08-24T06:27:42.385994Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19242
    },
    "data": {
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "bb2787a04782f1c9",
    "parent_span_id": "b6280536ecb93431",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:42.385951Z",
    "timestamp": "2026-08-24T06:27:42.385988Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19242
    },
    "data": {
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "aecc1a38d7296d19",
    "parent_span_id": "8d174cd25b9119f3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:42.386027Z",
    "timestamp": "2026-08-24T06:27:42.386041Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19242
    },
    "data": {
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "b59210efd57f5a0b",
    "parent_span_id": "8d174cd25b9119f3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:42.389554Z",
    "timestamp": "2026-08-24T06:27:42.950009Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139852558203776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "913de2f4bbc76b93",
    "parent_span_id": "975f762fc5b66bcf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:43.012208Z",
    "timestamp": "2026-08-24T06:27:43.511766Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139852558203776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "span_id": "bceef6b13a837df5",
    "parent_span_id": "a18f8b12fcc3f397",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:44.617116Z",
    "timestamp": "2026-08-24T06:27:45.096790Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139852558203776",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 64,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "84974838e88600c1",
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:42.271354Z",
    "timestamp": "2026-08-24T06:27:45.361206Z",
    "data": {
      "thread.id": "139852558203776",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8d174cd25b9119f3",
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "parent_span_id": "84974838e88600c1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552862.288873,
    "timestamp": 1787552863.004813,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "84974838e88600c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "975f762fc5b66bcf",
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "parent_span_id": "84974838e88600c1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552863.009737,
    "timestamp": 1787552864.615488,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The population of Paris varies depending on how the city is defined:\n\n- **City proper (Paris municipality)**: Approximately 2.1-2.2 million people\n- **Greater Paris (Île-de-France region)**: Approximately 12 million people\n\nThe city proper refers to Paris within its administrative boundaries, while the metropolitan area includes surrounding suburbs and towns. The most commonly cited figure for Paris itself is around 2.1 million residents.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 101,
      "gen_ai.usage.total_tokens": 142,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "84974838e88600c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a18f8b12fcc3f397",
    "trace_id": "5b4683e045f34664ac2ab2501612b125",
    "parent_span_id": "84974838e88600c1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552864.616034,
    "timestamp": 1787552865.358011,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139852427290304",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "84974838e88600c1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (async, blocking, openai)❗︎ 123734ms
checkAISpanCount(3)
checkChatSpanAttributes
a4dabd62gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4dabd62gen_ai.output.messagesMissing output messages attribute
aa6a9491gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aa6a9491gen_ai.output.messagesMissing output messages attribute
82e8a4cagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82e8a4cagen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "90bf247bc36f4d9f",
    "parent_span_id": "a4dabd62fd02134b",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:42.434800Z",
    "timestamp": "2026-08-24T06:27:42.439543Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19246
    },
    "data": {
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "8f60014f7edd75d0",
    "parent_span_id": "a4dabd62fd02134b",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:42.439628Z",
    "timestamp": "2026-08-24T06:27:42.439748Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19246
    },
    "data": {
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "bb96eb5a2c0e40a7",
    "parent_span_id": "8f60014f7edd75d0",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:42.439710Z",
    "timestamp": "2026-08-24T06:27:42.439741Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19246
    },
    "data": {
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "8c55a12003767620",
    "parent_span_id": "a4dabd62fd02134b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:42.439779Z",
    "timestamp": "2026-08-24T06:27:42.439792Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19246
    },
    "data": {
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "a6f154455025909c",
    "parent_span_id": "a4dabd62fd02134b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:42.441201Z",
    "timestamp": "2026-08-24T06:27:44.184588Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140141302811520",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "9f1f4c94bcad722b",
    "parent_span_id": "aa6a9491edba7d20",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:44.197816Z",
    "timestamp": "2026-08-24T06:27:50.274932Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140141302811520",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "span_id": "a184e4e5fac412b5",
    "parent_span_id": "82e8a4caa017570c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:50.293087Z",
    "timestamp": "2026-08-24T06:27:57.282212Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140141302811520",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b10ef5159c8ce154",
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:42.413402Z",
    "timestamp": "2026-08-24T06:27:57.300888Z",
    "data": {
      "thread.id": "140141302811520",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a4dabd62fd02134b",
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "parent_span_id": "b10ef5159c8ce154",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552862.424074,
    "timestamp": 1787552864.194741,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b10ef5159c8ce154",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aa6a9491edba7d20",
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "parent_span_id": "b10ef5159c8ce154",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552864.195381,
    "timestamp": 1787552870.282635,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris city proper (the commune) has about 2.1 million residents. The larger Paris metropolitan area is roughly 12 million, and the Île-de-France region around 12–13 million. If you’d like, I can give exact latest figures for a specific definition (city proper vs. metro area vs. region).",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1164,
      "gen_ai.usage.total_tokens": 1212,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1088,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b10ef5159c8ce154",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82e8a4caa017570c",
    "trace_id": "b1fb8f3e91e74f0484362c37c4184b65",
    "parent_span_id": "b10ef5159c8ce154",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552870.28343,
    "timestamp": 1787552877.291784,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140141091878592",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "“Metropolitan area” can mean several things. Here are the common definitions and approximate populations:\n\n- Paris urban area (aire urbaine): about 12 million people.\n- Île-de-France region (the wider metropolitan region around Paris): roughly 12–13 million people.\n- Métropole du Grand Paris (the inner-suburban intercommunal area surrounding Paris): about 7 million people.\n\nIf you tell me which definition you want (and a year), I can give a more precise figure.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1391,
      "gen_ai.usage.total_tokens": 1472,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 1280,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b10ef5159c8ce154",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Multi-Turn LLM Test (async, blocking, anthropic)❗︎ 1⚠︎ 112102ms
checkAISpanCount(3)
checkChatSpanAttributes
b437ae21gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b437ae21gen_ai.output.messagesMissing output messages attribute
ada6b1e6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ada6b1e6gen_ai.output.messagesMissing output messages attribute
9cfdd99egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9cfdd99egen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b437ae21gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ada6b1e6gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9cfdd99egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(3 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(3 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (11)
[
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "afc304b99ecd7f90",
    "parent_span_id": "b437ae21c4699068",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:43.416177Z",
    "timestamp": "2026-08-24T06:27:43.417349Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19259
    },
    "data": {
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "a4f424684ac71495",
    "parent_span_id": "b437ae21c4699068",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.417413Z",
    "timestamp": "2026-08-24T06:27:43.418109Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19259
    },
    "data": {
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "8335a208231d43bd",
    "parent_span_id": "a4f424684ac71495",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.418061Z",
    "timestamp": "2026-08-24T06:27:43.418100Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19259
    },
    "data": {
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "bc40ee7953af47d8",
    "parent_span_id": "b437ae21c4699068",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.418144Z",
    "timestamp": "2026-08-24T06:27:43.418159Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19259
    },
    "data": {
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "a3c488eefef24fc4",
    "parent_span_id": "b437ae21c4699068",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:43.419626Z",
    "timestamp": "2026-08-24T06:27:44.238497Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140179376864128",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 62,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "bb5563bb1052041b",
    "parent_span_id": "ada6b1e6545297f7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:44.257295Z",
    "timestamp": "2026-08-24T06:27:45.453355Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140179376864128",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 62,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "span_id": "bc2e90eb77aa5433",
    "parent_span_id": "9cfdd99e5cce4bd0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:45.460343Z",
    "timestamp": "2026-08-24T06:27:46.241292Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140179376864128",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 62,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "9284e82473f05603",
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:27:43.383545Z",
    "timestamp": "2026-08-24T06:27:46.250159Z",
    "data": {
      "thread.id": "140179376864128",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b437ae21c4699068",
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "parent_span_id": "9284e82473f05603",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552863.386659,
    "timestamp": 1787552864.25526,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is **Paris**.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 31,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9284e82473f05603",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ada6b1e6545297f7",
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "parent_span_id": "9284e82473f05603",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552864.255966,
    "timestamp": 1787552865.457809,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Paris has a population of approximately 2.1 to 2.2 million people within the city proper, making it one of the most populous cities in Europe.\n\nHowever, the larger metropolitan area (Île-de-France region) has a population of around 12 million people, which is significantly larger.\n\nThe exact figures can vary slightly depending on the source and how city boundaries are defined.",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 88,
      "gen_ai.usage.total_tokens": 129,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9284e82473f05603",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9cfdd99e5cce4bd0",
    "trace_id": "beadfba2790f409b9e66c25fdb1f97e0",
    "parent_span_id": "9284e82473f05603",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552865.458626,
    "timestamp": 1787552866.243858,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140179246409408",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The Paris metropolitan area (Île-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9284e82473f05603",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic Error LLM Test (sync, streaming, openai)❗︎ 110163ms
checkAISpanCount(>=1)
checkErrorCaptured
8521475fSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "span_id": "9785624a319c8a63",
    "parent_span_id": "8521475f10648b54",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:43.256800Z",
    "timestamp": "2026-08-24T06:27:43.260725Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19254
    },
    "data": {
      "thread.id": "139621032340352",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "span_id": "974a8807d6e087e2",
    "parent_span_id": "8521475f10648b54",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.260814Z",
    "timestamp": "2026-08-24T06:27:43.260947Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19254
    },
    "data": {
      "thread.id": "139621032340352",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "span_id": "863c3ed59e388e92",
    "parent_span_id": "974a8807d6e087e2",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.260905Z",
    "timestamp": "2026-08-24T06:27:43.260940Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19254
    },
    "data": {
      "thread.id": "139621032340352",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "span_id": "a85e4333514b4423",
    "parent_span_id": "8521475f10648b54",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.260985Z",
    "timestamp": "2026-08-24T06:27:43.261005Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19254
    },
    "data": {
      "thread.id": "139621032340352",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "span_id": "a6b8e34066f711ac",
    "parent_span_id": "8521475f10648b54",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:43.262699Z",
    "timestamp": "2026-08-24T06:27:45.024488Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139621032340352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 35,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b216b55b52267350",
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:27:43.241022Z",
    "timestamp": "2026-08-24T06:27:45.061448Z",
    "data": {
      "thread.id": "139621032340352",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8521475f10648b54",
    "trace_id": "fcc3bed0156e4b7d8aa45ebf4ed45e5d",
    "parent_span_id": "b216b55b52267350",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552863.245938,
    "timestamp": 1787552865.061386,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139621032340352",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "b216b55b52267350",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic Error LLM Test (sync, blocking, openai)❗︎ 19052ms
checkAISpanCount(>=1)
checkErrorCaptured
a665ff90Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "span_id": "8b622fafb8c42505",
    "parent_span_id": "a665ff905fb04080",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:43.073568Z",
    "timestamp": "2026-08-24T06:27:43.078839Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19250
    },
    "data": {
      "thread.id": "139954834209664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "span_id": "b1b4a0ff26071a10",
    "parent_span_id": "a665ff905fb04080",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.078902Z",
    "timestamp": "2026-08-24T06:27:43.079383Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19250
    },
    "data": {
      "thread.id": "139954834209664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "span_id": "b4f8f1627a98e270",
    "parent_span_id": "b1b4a0ff26071a10",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.079339Z",
    "timestamp": "2026-08-24T06:27:43.079374Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19250
    },
    "data": {
      "thread.id": "139954834209664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "span_id": "8bec7ebd42e7043a",
    "parent_span_id": "a665ff905fb04080",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:43.079413Z",
    "timestamp": "2026-08-24T06:27:43.079425Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19250
    },
    "data": {
      "thread.id": "139954834209664",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "span_id": "abdb30f38e819d8c",
    "parent_span_id": "a665ff905fb04080",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:43.080602Z",
    "timestamp": "2026-08-24T06:27:44.111785Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139954834209664",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9373a04c77b0ccf9",
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:27:43.062644Z",
    "timestamp": "2026-08-24T06:27:44.122353Z",
    "data": {
      "thread.id": "139954834209664",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a665ff905fb04080",
    "trace_id": "66f107ac463f4ceaae60b6a6c854c535",
    "parent_span_id": "9373a04c77b0ccf9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552863.066518,
    "timestamp": 1787552864.122259,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139954834209664",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 64,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "9373a04c77b0ccf9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic Error LLM Test (async, streaming, openai)❗︎ 17949ms
checkAISpanCount(>=1)
checkErrorCaptured
b8c988e2Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "span_id": "8aed9cb3b4f592fe",
    "parent_span_id": "b8c988e216f04c65",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:44.154503Z",
    "timestamp": "2026-08-24T06:27:44.155357Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19266
    },
    "data": {
      "thread.id": "140556137694912",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "span_id": "9a335251ace2d454",
    "parent_span_id": "b8c988e216f04c65",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:44.155415Z",
    "timestamp": "2026-08-24T06:27:44.155994Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19266
    },
    "data": {
      "thread.id": "140556137694912",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "span_id": "9e681e84fecf5eaa",
    "parent_span_id": "9a335251ace2d454",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:44.155952Z",
    "timestamp": "2026-08-24T06:27:44.155985Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19266
    },
    "data": {
      "thread.id": "140556137694912",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "span_id": "8a18a897132b8a89",
    "parent_span_id": "b8c988e216f04c65",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:44.156018Z",
    "timestamp": "2026-08-24T06:27:44.156028Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19266
    },
    "data": {
      "thread.id": "140556137694912",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "span_id": "b1bb21eed558810b",
    "parent_span_id": "b8c988e216f04c65",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:44.157122Z",
    "timestamp": "2026-08-24T06:27:45.349930Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556269935488",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a50e1bd6d8216f0b",
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:27:44.149195Z",
    "timestamp": "2026-08-24T06:27:45.401140Z",
    "data": {
      "thread.id": "140556269935488",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b8c988e216f04c65",
    "trace_id": "93d40eba59df4d998bb2222575afa8b8",
    "parent_span_id": "a50e1bd6d8216f0b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552864.151554,
    "timestamp": 1787552865.399825,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140556137694912",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 128,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "a50e1bd6d8216f0b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Basic Error LLM Test (async, blocking, openai)❗︎ 17284ms
checkAISpanCount(>=1)
checkErrorCaptured
95dbf839Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "span_id": "a4d4a8ff44ac5f21",
    "parent_span_id": "95dbf839ce0f98c8",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:48.912799Z",
    "timestamp": "2026-08-24T06:27:48.916716Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19302
    },
    "data": {
      "thread.id": "139720569423552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "span_id": "aaaabc337f3affda",
    "parent_span_id": "95dbf839ce0f98c8",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:48.916792Z",
    "timestamp": "2026-08-24T06:27:48.916915Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19302
    },
    "data": {
      "thread.id": "139720569423552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "span_id": "b3f71ef7ca3409b5",
    "parent_span_id": "aaaabc337f3affda",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:48.916876Z",
    "timestamp": "2026-08-24T06:27:48.916908Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19302
    },
    "data": {
      "thread.id": "139720569423552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "span_id": "b25e7c22883cb881",
    "parent_span_id": "95dbf839ce0f98c8",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:48.916947Z",
    "timestamp": "2026-08-24T06:27:48.916961Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19302
    },
    "data": {
      "thread.id": "139720569423552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "span_id": "95cfbb1fb2a8ad26",
    "parent_span_id": "95dbf839ce0f98c8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:48.920535Z",
    "timestamp": "2026-08-24T06:27:50.515908Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139720702249856",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "affb5d0c7bd6b4e1",
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:27:48.886687Z",
    "timestamp": "2026-08-24T06:27:50.547905Z",
    "data": {
      "thread.id": "139720702249856",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "95dbf839ce0f98c8",
    "trace_id": "7eb52eebd2484796a112055c015974bd",
    "parent_span_id": "affb5d0c7bd6b4e1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552868.895475,
    "timestamp": 1787552870.542018,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139720569423552",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 128,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "affb5d0c7bd6b4e1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (sync, streaming, openai)❗︎ 1 17850ms
checkChatSpanAttributes
a5974660gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5974660gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a5974660gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
a5974660gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "span_id": "a2bcb2781ae40f47",
    "parent_span_id": "a59746602c0adfff",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:51.771966Z",
    "timestamp": "2026-08-24T06:27:51.773943Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19319
    },
    "data": {
      "thread.id": "140663713471360",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "span_id": "9d439c4cb708c034",
    "parent_span_id": "a59746602c0adfff",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.774024Z",
    "timestamp": "2026-08-24T06:27:51.774164Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19319
    },
    "data": {
      "thread.id": "140663713471360",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "span_id": "bcd60c26c7ab1e2a",
    "parent_span_id": "9d439c4cb708c034",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.774107Z",
    "timestamp": "2026-08-24T06:27:51.774154Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19319
    },
    "data": {
      "thread.id": "140663713471360",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "span_id": "a08b8a1b0f67001e",
    "parent_span_id": "a59746602c0adfff",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.774201Z",
    "timestamp": "2026-08-24T06:27:51.774219Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19319
    },
    "data": {
      "thread.id": "140663713471360",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "span_id": "947c090a9676a427",
    "parent_span_id": "a59746602c0adfff",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:51.775414Z",
    "timestamp": "2026-08-24T06:27:52.410020Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140663713471360",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9e569108e1c64cab",
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:51.763057Z",
    "timestamp": "2026-08-24T06:27:52.446876Z",
    "data": {
      "thread.id": "140663713471360",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a59746602c0adfff",
    "trace_id": "f08f2e66aebf459d8965a26021c3baf9",
    "parent_span_id": "9e569108e1c64cab",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552871.765553,
    "timestamp": 1787552872.446792,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140663713471360",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.usage.cache_read.input_tokens": 2944,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "9e569108e1c64cab",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (sync, streaming, anthropic)❗︎ 1 1⚠︎ 18551ms
checkChatSpanAttributes
80b04e0dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
80b04e0dgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
80b04e0dgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
80b04e0dgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
80b04e0dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "span_id": "906315a4aa87ade2",
    "parent_span_id": "80b04e0d5e9d2bc2",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:51.345860Z",
    "timestamp": "2026-08-24T06:27:51.347928Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19314
    },
    "data": {
      "thread.id": "139743546190720",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "span_id": "a57baf240282ab5a",
    "parent_span_id": "80b04e0d5e9d2bc2",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.348002Z",
    "timestamp": "2026-08-24T06:27:51.348125Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19314
    },
    "data": {
      "thread.id": "139743546190720",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "span_id": "928174963a97846a",
    "parent_span_id": "a57baf240282ab5a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.348086Z",
    "timestamp": "2026-08-24T06:27:51.348120Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19314
    },
    "data": {
      "thread.id": "139743546190720",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "span_id": "bb22f15342845c6a",
    "parent_span_id": "80b04e0d5e9d2bc2",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.348156Z",
    "timestamp": "2026-08-24T06:27:51.348169Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19314
    },
    "data": {
      "thread.id": "139743546190720",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "span_id": "9a14c79e4ed2d951",
    "parent_span_id": "80b04e0d5e9d2bc2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:51.349469Z",
    "timestamp": "2026-08-24T06:27:52.561958Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139743546190720",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 38,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b550e3e0c140c21b",
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:51.305634Z",
    "timestamp": "2026-08-24T06:27:52.757946Z",
    "data": {
      "thread.id": "139743546190720",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "80b04e0d5e9d2bc2",
    "trace_id": "e5eb064c358148de90dd30c7a224c307",
    "parent_span_id": "b550e3e0c140c21b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552871.307858,
    "timestamp": 1787552872.757881,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139743546190720",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b550e3e0c140c21b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (sync, blocking, openai)❗︎ 1 18402ms
checkChatSpanAttributes
bd3e6520gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd3e6520gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
bd3e6520gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
bd3e6520gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "span_id": "95c9096bfc00b3e9",
    "parent_span_id": "bd3e65201f5d3787",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:52.259268Z",
    "timestamp": "2026-08-24T06:27:52.261109Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19324
    },
    "data": {
      "thread.id": "139802316573568",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "span_id": "8a77956244332e3f",
    "parent_span_id": "bd3e65201f5d3787",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.261174Z",
    "timestamp": "2026-08-24T06:27:52.261289Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19324
    },
    "data": {
      "thread.id": "139802316573568",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "span_id": "89559e669b405ad4",
    "parent_span_id": "8a77956244332e3f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.261253Z",
    "timestamp": "2026-08-24T06:27:52.261283Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19324
    },
    "data": {
      "thread.id": "139802316573568",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "span_id": "b6b4ec8c2998879d",
    "parent_span_id": "bd3e65201f5d3787",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.261317Z",
    "timestamp": "2026-08-24T06:27:52.261329Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19324
    },
    "data": {
      "thread.id": "139802316573568",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "span_id": "80fced307c42f97a",
    "parent_span_id": "bd3e65201f5d3787",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:52.262536Z",
    "timestamp": "2026-08-24T06:27:52.883407Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139802316573568",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 33,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ac6d5a388df0badc",
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:52.251179Z",
    "timestamp": "2026-08-24T06:27:52.927190Z",
    "data": {
      "thread.id": "139802316573568",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bd3e65201f5d3787",
    "trace_id": "458cd3f621d44deeb59a74a8b1d59975",
    "parent_span_id": "ac6d5a388df0badc",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552872.253416,
    "timestamp": 1787552872.927104,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139802316573568",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.usage.cache_read.input_tokens": 2944,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "ac6d5a388df0badc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (sync, blocking, anthropic)❗︎ 1 1⚠︎ 17044ms
checkChatSpanAttributes
b2555fbegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b2555fbegen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b2555fbegen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b2555fbegen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
b2555fbegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "e3692d17895448519f9547525217e03b",
    "span_id": "a25ab7ca5e618e93",
    "parent_span_id": "b2555fbee0c2db15",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:51.824552Z",
    "timestamp": "2026-08-24T06:27:51.827719Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19320
    },
    "data": {
      "thread.id": "140014393961344",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e3692d17895448519f9547525217e03b",
    "span_id": "b87b5c50992b2f52",
    "parent_span_id": "b2555fbee0c2db15",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.827797Z",
    "timestamp": "2026-08-24T06:27:51.827926Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19320
    },
    "data": {
      "thread.id": "140014393961344",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e3692d17895448519f9547525217e03b",
    "span_id": "a14c06909e4bec39",
    "parent_span_id": "b87b5c50992b2f52",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.827887Z",
    "timestamp": "2026-08-24T06:27:51.827921Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19320
    },
    "data": {
      "thread.id": "140014393961344",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e3692d17895448519f9547525217e03b",
    "span_id": "90f34ab8b7ab4c0a",
    "parent_span_id": "b2555fbee0c2db15",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:51.827956Z",
    "timestamp": "2026-08-24T06:27:51.827969Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19320
    },
    "data": {
      "thread.id": "140014393961344",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e3692d17895448519f9547525217e03b",
    "span_id": "8e2940aa2b3b2a2b",
    "parent_span_id": "b2555fbee0c2db15",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:51.829194Z",
    "timestamp": "2026-08-24T06:27:52.550981Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140014393961344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 37,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8aeb7ca99387b00b",
    "trace_id": "e3692d17895448519f9547525217e03b",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:51.743938Z",
    "timestamp": "2026-08-24T06:27:52.594570Z",
    "data": {
      "thread.id": "140014393961344",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b2555fbee0c2db15",
    "trace_id": "e3692d17895448519f9547525217e03b",
    "parent_span_id": "8aeb7ca99387b00b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552871.747368,
    "timestamp": 1787552872.594467,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140014393961344",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8aeb7ca99387b00b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (async, streaming, openai)❗︎ 1 18144ms
checkChatSpanAttributes
8fd66b85gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8fd66b85gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8fd66b85gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
8fd66b85gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "span_id": "b7f25aa2c28b0fec",
    "parent_span_id": "8fd66b85a1239eef",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:52.426777Z",
    "timestamp": "2026-08-24T06:27:52.427954Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19327
    },
    "data": {
      "thread.id": "140257045898944",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "span_id": "ad5dea27ad0fbce1",
    "parent_span_id": "8fd66b85a1239eef",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.428012Z",
    "timestamp": "2026-08-24T06:27:52.428663Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19327
    },
    "data": {
      "thread.id": "140257045898944",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "span_id": "9b2b04bb7fbd9973",
    "parent_span_id": "ad5dea27ad0fbce1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.428594Z",
    "timestamp": "2026-08-24T06:27:52.428653Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19327
    },
    "data": {
      "thread.id": "140257045898944",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "span_id": "965f23c6ce03855a",
    "parent_span_id": "8fd66b85a1239eef",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.428693Z",
    "timestamp": "2026-08-24T06:27:52.428707Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19327
    },
    "data": {
      "thread.id": "140257045898944",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "span_id": "ab38ece7bbbf0dff",
    "parent_span_id": "8fd66b85a1239eef",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:52.430042Z",
    "timestamp": "2026-08-24T06:27:52.965218Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140257176136576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 35,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8f7763970cc5dbd8",
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:52.416919Z",
    "timestamp": "2026-08-24T06:27:53.001278Z",
    "data": {
      "thread.id": "140257176136576",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8fd66b85a1239eef",
    "trace_id": "5ea7abb2373e4174932b5f64d36a491b",
    "parent_span_id": "8f7763970cc5dbd8",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552872.420513,
    "timestamp": 1787552872.997644,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140257045898944",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.usage.cache_read.input_tokens": 2944,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8f7763970cc5dbd8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (async, streaming, anthropic)❗︎ 1 1⚠︎ 17168ms
checkChatSpanAttributes
81e98075gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
81e98075gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
81e98075gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
81e98075gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
81e98075gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "span_id": "91c2f50d74c67241",
    "parent_span_id": "81e9807554f55c18",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:52.856874Z",
    "timestamp": "2026-08-24T06:27:52.858119Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19337
    },
    "data": {
      "thread.id": "139704054834880",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "span_id": "a7d3f631789cadf5",
    "parent_span_id": "81e9807554f55c18",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.858189Z",
    "timestamp": "2026-08-24T06:27:52.859055Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19337
    },
    "data": {
      "thread.id": "139704054834880",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "span_id": "be7ee978370d8a34",
    "parent_span_id": "a7d3f631789cadf5",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.858887Z",
    "timestamp": "2026-08-24T06:27:52.859044Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19337
    },
    "data": {
      "thread.id": "139704054834880",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "span_id": "8c775058d12ea26b",
    "parent_span_id": "81e9807554f55c18",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:52.859091Z",
    "timestamp": "2026-08-24T06:27:52.859110Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19337
    },
    "data": {
      "thread.id": "139704054834880",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "span_id": "adbf10f495b71e16",
    "parent_span_id": "81e9807554f55c18",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:52.860441Z",
    "timestamp": "2026-08-24T06:27:53.484095Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139704184556416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 39,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9b2a7dcc08bb80ed",
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:52.821568Z",
    "timestamp": "2026-08-24T06:27:53.564062Z",
    "data": {
      "thread.id": "139704184556416",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81e9807554f55c18",
    "trace_id": "b42c3e9b8c964466b01fc83804e76e2f",
    "parent_span_id": "9b2a7dcc08bb80ed",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552872.824604,
    "timestamp": 1787552873.560768,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139704054834880",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "9b2a7dcc08bb80ed",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (async, blocking, openai)❗︎ 1 19594ms
checkChatSpanAttributes
9fb32ea8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9fb32ea8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9fb32ea8gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9fb32ea8gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "span_id": "93501237cd66bd68",
    "parent_span_id": "9fb32ea8b0098716",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:58.152019Z",
    "timestamp": "2026-08-24T06:27:58.153937Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19372
    },
    "data": {
      "thread.id": "140583724508864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "span_id": "b447d5fe5cc5c68b",
    "parent_span_id": "9fb32ea8b0098716",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:58.154000Z",
    "timestamp": "2026-08-24T06:27:58.154125Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19372
    },
    "data": {
      "thread.id": "140583724508864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "span_id": "a99b58219a4cd56c",
    "parent_span_id": "b447d5fe5cc5c68b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:58.154094Z",
    "timestamp": "2026-08-24T06:27:58.154123Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19372
    },
    "data": {
      "thread.id": "140583724508864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "span_id": "962a9136601ba65d",
    "parent_span_id": "9fb32ea8b0098716",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:58.154159Z",
    "timestamp": "2026-08-24T06:27:58.154171Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19372
    },
    "data": {
      "thread.id": "140583724508864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "span_id": "83fd92da456f2f34",
    "parent_span_id": "9fb32ea8b0098716",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:58.155497Z",
    "timestamp": "2026-08-24T06:27:58.816303Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140583854508928",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 39,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b52440b1282c7712",
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:58.111574Z",
    "timestamp": "2026-08-24T06:27:58.875844Z",
    "data": {
      "thread.id": "140583854508928",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9fb32ea8b0098716",
    "trace_id": "fd782859ad6c4e54850f191757a9445e",
    "parent_span_id": "b52440b1282c7712",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552878.128368,
    "timestamp": 1787552878.864145,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140583724508864",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b52440b1282c7712",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Vision LLM Test (async, blocking, anthropic)❗︎ 1 1⚠︎ 19254ms
checkChatSpanAttributes
93681336gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93681336gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
93681336gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
93681336gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
93681336gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "span_id": "987f4faa5d69b396",
    "parent_span_id": "93681336b373348e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:58.131077Z",
    "timestamp": "2026-08-24T06:27:58.136105Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19371
    },
    "data": {
      "thread.id": "140217931527872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "span_id": "a529d164f50e1ddf",
    "parent_span_id": "93681336b373348e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:58.136190Z",
    "timestamp": "2026-08-24T06:27:58.136335Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19371
    },
    "data": {
      "thread.id": "140217931527872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "span_id": "acdfc895c5b236bc",
    "parent_span_id": "a529d164f50e1ddf",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:58.136291Z",
    "timestamp": "2026-08-24T06:27:58.136328Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19371
    },
    "data": {
      "thread.id": "140217931527872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "span_id": "8f957a5ea607c983",
    "parent_span_id": "93681336b373348e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:58.136367Z",
    "timestamp": "2026-08-24T06:27:58.136382Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19371
    },
    "data": {
      "thread.id": "140217931527872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "span_id": "9bca8aea4c2689f4",
    "parent_span_id": "93681336b373348e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:27:58.140581Z",
    "timestamp": "2026-08-24T06:27:58.839429Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140218137762688",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 43,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "b41edc767c0e501e",
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:27:58.022135Z",
    "timestamp": "2026-08-24T06:27:58.956885Z",
    "data": {
      "thread.id": "140218137762688",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "93681336b373348e",
    "trace_id": "4a7a1b47db584986af237a5a400c33b0",
    "parent_span_id": "b41edc767c0e501e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552878.02784,
    "timestamp": 1787552878.938794,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140217931527872",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "Pink",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b41edc767c0e501e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (sync, streaming, openai)❗︎ 110021ms
checkChatSpanAttributes
ab0e75d4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab0e75d4gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "span_id": "aa1fc36070334465",
    "parent_span_id": "ab0e75d4a71be335",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:27:59.880681Z",
    "timestamp": "2026-08-24T06:27:59.883701Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19389
    },
    "data": {
      "thread.id": "140230172097408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "span_id": "a3f70515adda12ee",
    "parent_span_id": "ab0e75d4a71be335",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:59.883767Z",
    "timestamp": "2026-08-24T06:27:59.888215Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19389
    },
    "data": {
      "thread.id": "140230172097408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "span_id": "8595de516fd73fda",
    "parent_span_id": "a3f70515adda12ee",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:59.888163Z",
    "timestamp": "2026-08-24T06:27:59.888205Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19389
    },
    "data": {
      "thread.id": "140230172097408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "span_id": "9f8e68426682cfeb",
    "parent_span_id": "ab0e75d4a71be335",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:27:59.888246Z",
    "timestamp": "2026-08-24T06:27:59.888258Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19389
    },
    "data": {
      "thread.id": "140230172097408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "span_id": "965172762f9b46c4",
    "parent_span_id": "ab0e75d4a71be335",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:27:59.889508Z",
    "timestamp": "2026-08-24T06:28:00.405889Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140230172097408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bd6388d6f2b01770",
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:27:59.859938Z",
    "timestamp": "2026-08-24T06:28:00.944551Z",
    "data": {
      "thread.id": "140230172097408",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab0e75d4a71be335",
    "trace_id": "8dde0930091c4ebb9421d17ec9bb6667",
    "parent_span_id": "bd6388d6f2b01770",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552879.864479,
    "timestamp": 1787552880.944465,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140230172097408",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The message states that it is a test being repeated multiple times to create a long input.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5447,
      "gen_ai.usage.cache_read.input_tokens": 5376,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bd6388d6f2b01770",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (sync, streaming, anthropic)❗︎ 1⚠︎ 110556ms
checkChatSpanAttributes
be857324gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be857324gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
be857324gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "span_id": "a9adb9581912c84b",
    "parent_span_id": "be857324a0b8f17e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:00.611041Z",
    "timestamp": "2026-08-24T06:28:00.613123Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19391
    },
    "data": {
      "thread.id": "140610756868992",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "span_id": "a24781f38c366c72",
    "parent_span_id": "be857324a0b8f17e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:00.613202Z",
    "timestamp": "2026-08-24T06:28:00.613330Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19391
    },
    "data": {
      "thread.id": "140610756868992",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "span_id": "98a6c874ccd5413c",
    "parent_span_id": "a24781f38c366c72",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:00.613290Z",
    "timestamp": "2026-08-24T06:28:00.613324Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19391
    },
    "data": {
      "thread.id": "140610756868992",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "span_id": "95f1ac9218401cd3",
    "parent_span_id": "be857324a0b8f17e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:00.613361Z",
    "timestamp": "2026-08-24T06:28:00.613374Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19391
    },
    "data": {
      "thread.id": "140610756868992",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "span_id": "802d586f7051da77",
    "parent_span_id": "be857324a0b8f17e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:00.617953Z",
    "timestamp": "2026-08-24T06:28:01.296131Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140610756868992",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 35,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b17f09606aa6c898",
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:00.544508Z",
    "timestamp": "2026-08-24T06:28:01.661190Z",
    "data": {
      "thread.id": "140610756868992",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "be857324a0b8f17e",
    "trace_id": "c74d794c171d492d8fd71ebecab02d34",
    "parent_span_id": "b17f09606aa6c898",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552880.546672,
    "timestamp": 1787552881.661123,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140610756868992",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The message is a single test sentence repeated hundreds of times to create an artificially long input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 22,
      "gen_ai.usage.total_tokens": 5448,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b17f09606aa6c898",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (sync, blocking, openai)❗︎ 111505ms
checkChatSpanAttributes
994cf77agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
994cf77agen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "span_id": "bcaa1d7c0629d2d1",
    "parent_span_id": "994cf77a5e5e83ca",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:02.626798Z",
    "timestamp": "2026-08-24T06:28:02.630715Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19401
    },
    "data": {
      "thread.id": "139936155073408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "span_id": "87b8defe49be2f20",
    "parent_span_id": "994cf77a5e5e83ca",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:02.630795Z",
    "timestamp": "2026-08-24T06:28:02.630923Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19401
    },
    "data": {
      "thread.id": "139936155073408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "span_id": "af7f2974d4109165",
    "parent_span_id": "87b8defe49be2f20",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:02.630881Z",
    "timestamp": "2026-08-24T06:28:02.630917Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19401
    },
    "data": {
      "thread.id": "139936155073408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "span_id": "9645ab61877b7662",
    "parent_span_id": "994cf77a5e5e83ca",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:02.630953Z",
    "timestamp": "2026-08-24T06:28:02.630968Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19401
    },
    "data": {
      "thread.id": "139936155073408",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "span_id": "b1e431f40e072a90",
    "parent_span_id": "994cf77a5e5e83ca",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:02.632390Z",
    "timestamp": "2026-08-24T06:28:03.688097Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139936155073408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8fb80591b4b45ed8",
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:02.596304Z",
    "timestamp": "2026-08-24T06:28:03.728030Z",
    "data": {
      "thread.id": "139936155073408",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "994cf77a5e5e83ca",
    "trace_id": "12e0556ba5984eacba0d1b1f0e5f7968",
    "parent_span_id": "8fb80591b4b45ed8",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552882.604528,
    "timestamp": 1787552883.727928,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139936155073408",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "This message is a repeated test designed to generate a lengthy input.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.usage.cache_read.input_tokens": 5376,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "8fb80591b4b45ed8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (sync, blocking, anthropic)❗︎ 1⚠︎ 112479ms
checkChatSpanAttributes
b64f558egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b64f558egen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
b64f558egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "span_id": "af261efc674d7c55",
    "parent_span_id": "b64f558e68ca931b",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:03.289296Z",
    "timestamp": "2026-08-24T06:28:03.290922Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19408
    },
    "data": {
      "thread.id": "140683919539072",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "span_id": "b9623700605682fc",
    "parent_span_id": "b64f558e68ca931b",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.291017Z",
    "timestamp": "2026-08-24T06:28:03.291974Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19408
    },
    "data": {
      "thread.id": "140683919539072",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "span_id": "89218b966ea51657",
    "parent_span_id": "b9623700605682fc",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.291902Z",
    "timestamp": "2026-08-24T06:28:03.291957Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19408
    },
    "data": {
      "thread.id": "140683919539072",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "span_id": "a3341187e053b2fd",
    "parent_span_id": "b64f558e68ca931b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.292025Z",
    "timestamp": "2026-08-24T06:28:03.292042Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19408
    },
    "data": {
      "thread.id": "140683919539072",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "span_id": "8a49576be589a8d9",
    "parent_span_id": "b64f558e68ca931b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:03.293691Z",
    "timestamp": "2026-08-24T06:28:04.202205Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140683919539072",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8d08ecbefaf5840d",
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:03.256175Z",
    "timestamp": "2026-08-24T06:28:04.339129Z",
    "data": {
      "thread.id": "140683919539072",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b64f558e68ca931b",
    "trace_id": "6057de588ddb4444bac2107772138e35",
    "parent_span_id": "8d08ecbefaf5840d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552883.258348,
    "timestamp": 1787552884.339009,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140683919539072",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "This is a test message repeated many times to create a long input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "8d08ecbefaf5840d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (async, streaming, openai)❗︎ 110837ms
checkChatSpanAttributes
a16f5332gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a16f5332gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "span_id": "bc504c778cb75805",
    "parent_span_id": "a16f5332e8c86d79",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:03.087812Z",
    "timestamp": "2026-08-24T06:28:03.093705Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19405
    },
    "data": {
      "thread.id": "140128600831680",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "span_id": "880824368decfb0f",
    "parent_span_id": "a16f5332e8c86d79",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.093777Z",
    "timestamp": "2026-08-24T06:28:03.093899Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19405
    },
    "data": {
      "thread.id": "140128600831680",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "span_id": "98c8c3d477d07ca6",
    "parent_span_id": "880824368decfb0f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.093860Z",
    "timestamp": "2026-08-24T06:28:03.093893Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19405
    },
    "data": {
      "thread.id": "140128600831680",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "span_id": "a3b0dffba064a87b",
    "parent_span_id": "a16f5332e8c86d79",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.093928Z",
    "timestamp": "2026-08-24T06:28:03.093941Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19405
    },
    "data": {
      "thread.id": "140128600831680",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "span_id": "b69aaa15f0c94c0c",
    "parent_span_id": "a16f5332e8c86d79",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:03.096507Z",
    "timestamp": "2026-08-24T06:28:03.631670Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140128730184576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "93e17b7fc9cb9bb4",
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:03.052700Z",
    "timestamp": "2026-08-24T06:28:03.800851Z",
    "data": {
      "thread.id": "140128730184576",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a16f5332e8c86d79",
    "trace_id": "aa059a2d215a4d928567a0b78505357f",
    "parent_span_id": "93e17b7fc9cb9bb4",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552883.067852,
    "timestamp": 1787552883.794165,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140128600831680",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "This message is a repeated test input designed to generate a long text.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.usage.cache_read.input_tokens": 5376,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "93e17b7fc9cb9bb4",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (async, streaming, anthropic)❗︎ 1⚠︎ 111900ms
checkChatSpanAttributes
b4cfc973gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4cfc973gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
b4cfc973gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "span_id": "8de20c8543946fb0",
    "parent_span_id": "b4cfc97389bc8d67",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:03.458297Z",
    "timestamp": "2026-08-24T06:28:03.460470Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19411
    },
    "data": {
      "thread.id": "139792035604160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "span_id": "96a6cd4117bc3c09",
    "parent_span_id": "b4cfc97389bc8d67",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.460547Z",
    "timestamp": "2026-08-24T06:28:03.460715Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19411
    },
    "data": {
      "thread.id": "139792035604160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "span_id": "937980a0a3a9be8f",
    "parent_span_id": "96a6cd4117bc3c09",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.460666Z",
    "timestamp": "2026-08-24T06:28:03.460708Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19411
    },
    "data": {
      "thread.id": "139792035604160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "span_id": "8da49da1b5a05253",
    "parent_span_id": "b4cfc97389bc8d67",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:03.460753Z",
    "timestamp": "2026-08-24T06:28:03.460774Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19411
    },
    "data": {
      "thread.id": "139792035604160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "span_id": "b5c4d01767862c63",
    "parent_span_id": "b4cfc97389bc8d67",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:03.462644Z",
    "timestamp": "2026-08-24T06:28:04.184836Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139792164928384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b95562053c01d96b",
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:03.423784Z",
    "timestamp": "2026-08-24T06:28:04.406070Z",
    "data": {
      "thread.id": "139792164928384",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b4cfc97389bc8d67",
    "trace_id": "dcb3afb690c04352a2651fdab047d072",
    "parent_span_id": "b95562053c01d96b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552883.426852,
    "timestamp": 1787552884.400814,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139792035604160",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "A single test message is repeated many times to create lengthy input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5442,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b95562053c01d96b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (async, blocking, openai)❗︎ 111611ms
checkChatSpanAttributes
99f06580gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99f06580gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "span_id": "834b881556e38ab6",
    "parent_span_id": "99f065802d8139cf",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:04.154881Z",
    "timestamp": "2026-08-24T06:28:04.161713Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19422
    },
    "data": {
      "thread.id": "139634419955392",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "span_id": "86b751275bc71430",
    "parent_span_id": "99f065802d8139cf",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:04.161785Z",
    "timestamp": "2026-08-24T06:28:04.161899Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19422
    },
    "data": {
      "thread.id": "139634419955392",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "span_id": "8ea5a4f8b18705b0",
    "parent_span_id": "86b751275bc71430",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:04.161865Z",
    "timestamp": "2026-08-24T06:28:04.161893Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19422
    },
    "data": {
      "thread.id": "139634419955392",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "span_id": "b2e3a6c23ec9df4a",
    "parent_span_id": "99f065802d8139cf",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:04.161927Z",
    "timestamp": "2026-08-24T06:28:04.161938Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19422
    },
    "data": {
      "thread.id": "139634419955392",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "span_id": "b90382997a394d18",
    "parent_span_id": "99f065802d8139cf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:04.163558Z",
    "timestamp": "2026-08-24T06:28:04.793160Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139634618657664",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "bbbb49b4c1153698",
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:04.124382Z",
    "timestamp": "2026-08-24T06:28:04.850877Z",
    "data": {
      "thread.id": "139634618657664",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "99f065802d8139cf",
    "trace_id": "de44247afcb44a7e9b62467f3d67bddf",
    "parent_span_id": "bbbb49b4c1153698",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552884.139678,
    "timestamp": 1787552884.83531,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139634419955392",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "The message is a repetitive test input designed to be extended multiple times to create a long input.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 19,
      "gen_ai.usage.total_tokens": 5448,
      "gen_ai.usage.cache_read.input_tokens": 5376,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bbbb49b4c1153698",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Long Input LLM Test (async, blocking, anthropic)❗︎ 1⚠︎ 110378ms
checkChatSpanAttributes
9b6df054gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b6df054gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
9b6df054gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(1 span)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(1 span)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(1 span)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (7)
[
  {
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "span_id": "b1e83bb85fd90878",
    "parent_span_id": "9b6df054ebac532c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:04.145845Z",
    "timestamp": "2026-08-24T06:28:04.149744Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19421
    },
    "data": {
      "thread.id": "140133087045312",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "span_id": "ab5ef6146d2ae71e",
    "parent_span_id": "9b6df054ebac532c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:04.149830Z",
    "timestamp": "2026-08-24T06:28:04.149962Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19421
    },
    "data": {
      "thread.id": "140133087045312",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "span_id": "ab7d563adbe865f2",
    "parent_span_id": "ab5ef6146d2ae71e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:04.149926Z",
    "timestamp": "2026-08-24T06:28:04.149958Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19421
    },
    "data": {
      "thread.id": "140133087045312",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "span_id": "b8ba826a15cceff7",
    "parent_span_id": "9b6df054ebac532c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:04.149994Z",
    "timestamp": "2026-08-24T06:28:04.150007Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19421
    },
    "data": {
      "thread.id": "140133087045312",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "span_id": "812fa563b36812ae",
    "parent_span_id": "9b6df054ebac532c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:04.152936Z",
    "timestamp": "2026-08-24T06:28:05.226223Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140133215759232",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "ae895afc860748bb",
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:28:04.053849Z",
    "timestamp": "2026-08-24T06:28:05.293930Z",
    "data": {
      "thread.id": "140133215759232",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9b6df054ebac532c",
    "trace_id": "0b8fa4edf537417daa3715f1fea2071f",
    "parent_span_id": "ae895afc860748bb",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552884.059445,
    "timestamp": 1787552885.285803,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140133087045312",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "This message is a single test sentence repeated many times to create lengthy input.",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5444,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "ae895afc860748bb",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (sync, streaming, openai)❗︎ 115289ms
checkAISpanCount(4)
checkChatSpanAttributes
8eb741f4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8eb741f4gen_ai.output.messagesMissing output messages attribute
847b2799gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
847b2799gen_ai.output.messagesMissing output messages attribute
93342f6cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93342f6cgen_ai.output.messagesMissing output messages attribute
bd0d20c4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd0d20c4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "b289f184e8f0d30a",
    "parent_span_id": "8eb741f4851805ff",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:06.230351Z",
    "timestamp": "2026-08-24T06:28:06.238725Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19442
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "965a10dd30a6555a",
    "parent_span_id": "8eb741f4851805ff",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:06.238796Z",
    "timestamp": "2026-08-24T06:28:06.238914Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19442
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "b990211349331987",
    "parent_span_id": "965a10dd30a6555a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:06.238871Z",
    "timestamp": "2026-08-24T06:28:06.238906Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19442
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "9e9adf15fec898ec",
    "parent_span_id": "8eb741f4851805ff",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:06.238948Z",
    "timestamp": "2026-08-24T06:28:06.238964Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19442
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "81731c3e65a38f63",
    "parent_span_id": "8eb741f4851805ff",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:06.240196Z",
    "timestamp": "2026-08-24T06:28:07.509660Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 32,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "9a682e775aec7bfa",
    "parent_span_id": "847b2799f0c58734",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:07.568882Z",
    "timestamp": "2026-08-24T06:28:09.919224Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "b24d803f327e3cbf",
    "parent_span_id": "93342f6cf7d90906",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:10.159875Z",
    "timestamp": "2026-08-24T06:28:11.730161Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "span_id": "9919c0437a5f77b9",
    "parent_span_id": "bd0d20c48ca5a34d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:11.894277Z",
    "timestamp": "2026-08-24T06:28:13.316410Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 72,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bfcd3b8e11de565c",
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:06.215698Z",
    "timestamp": "2026-08-24T06:28:13.486173Z",
    "data": {
      "thread.id": "140378155543424",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8eb741f4851805ff",
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "parent_span_id": "bfcd3b8e11de565c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552886.220532,
    "timestamp": 1787552887.558289,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 128,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfcd3b8e11de565c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "847b2799f0c58734",
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "parent_span_id": "bfcd3b8e11de565c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552887.566805,
    "timestamp": 1787552890.153777,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "4\n\nReason: adding two plus two gives four. If you’d like, I can show it with counting blocks, a number line, or in another base.",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 362,
      "gen_ai.usage.total_tokens": 386,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 320,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfcd3b8e11de565c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "93342f6cf7d90906",
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "parent_span_id": "bfcd3b8e11de565c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552890.15425,
    "timestamp": 1787552891.885399,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "The capital of Germany is Berlin. Berlin is also the country’s largest city and a major cultural and political center.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 224,
      "gen_ai.usage.total_tokens": 268,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfcd3b8e11de565c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd0d20c48ca5a34d",
    "trace_id": "b7e3b7f8c6e24caf846ce80c484427df",
    "parent_span_id": "bfcd3b8e11de565c",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552891.885877,
    "timestamp": 1787552893.486071,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140378155543424",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "3 + 3 = 6.\n\nIf you’d like, I can show a quick explanation or use a number line to visualize it.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 229,
      "gen_ai.usage.total_tokens": 279,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfcd3b8e11de565c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (sync, streaming, anthropic)❗︎ 1⚠︎ 118132ms
checkAISpanCount(4)
checkChatSpanAttributes
9f50ff73gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f50ff73gen_ai.output.messagesMissing output messages attribute
99f5c86cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99f5c86cgen_ai.output.messagesMissing output messages attribute
a75f0e1bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a75f0e1bgen_ai.output.messagesMissing output messages attribute
bd1bcaabgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd1bcaabgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9f50ff73gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
99f5c86cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a75f0e1bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
bd1bcaabgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "9d9e565e60a504a2",
    "parent_span_id": "9f50ff738bd7ee16",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:09.690884Z",
    "timestamp": "2026-08-24T06:28:09.697721Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19458
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "9c52922cd7e4b916",
    "parent_span_id": "9f50ff738bd7ee16",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:09.697839Z",
    "timestamp": "2026-08-24T06:28:09.697990Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19458
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "be3979bf8c66749b",
    "parent_span_id": "9c52922cd7e4b916",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:09.697945Z",
    "timestamp": "2026-08-24T06:28:09.697982Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19458
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "88807ba473c4c116",
    "parent_span_id": "9f50ff738bd7ee16",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:09.698026Z",
    "timestamp": "2026-08-24T06:28:09.698043Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19458
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "8f873dc8facd1ba6",
    "parent_span_id": "9f50ff738bd7ee16",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:09.699341Z",
    "timestamp": "2026-08-24T06:28:10.463953Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 36,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "b6a5c94e01e79676",
    "parent_span_id": "99f5c86cfcaf3c71",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:10.573287Z",
    "timestamp": "2026-08-24T06:28:11.095564Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "b1561d6ad5cf35bb",
    "parent_span_id": "a75f0e1b22b893ae",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:11.483877Z",
    "timestamp": "2026-08-24T06:28:13.259297Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 62,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "span_id": "8693789f5e6804bd",
    "parent_span_id": "bd1bcaab22a6aa33",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:13.470269Z",
    "timestamp": "2026-08-24T06:28:17.580186Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 76,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9a40723e9377372d",
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:09.624709Z",
    "timestamp": "2026-08-24T06:28:17.596389Z",
    "data": {
      "thread.id": "140362470263680",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9f50ff738bd7ee16",
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "parent_span_id": "9a40723e9377372d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552889.629509,
    "timestamp": 1787552890.571357,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9a40723e9377372d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99f5c86cfcaf3c71",
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "parent_span_id": "9a40723e9377372d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552890.571838,
    "timestamp": 1787552891.482182,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most basic addition facts in math. When you combine 2 groups of 2 items, you get 4 items total.\n\nIs there anything else you'd like help with?",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 59,
      "gen_ai.usage.total_tokens": 82,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9a40723e9377372d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a75f0e1b22b893ae",
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "parent_span_id": "9a40723e9377372d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552891.482583,
    "timestamp": 1787552893.468494,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9a40723e9377372d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd1bcaab22a6aa33",
    "trace_id": "52945a86997e471f8ec63c6bbf476d27",
    "parent_span_id": "9a40723e9377372d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552893.468919,
    "timestamp": 1787552897.596325,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140362470263680",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9a40723e9377372d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (sync, blocking, openai)❗︎ 116145ms
checkAISpanCount(4)
checkChatSpanAttributes
bb225278gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb225278gen_ai.output.messagesMissing output messages attribute
8266724dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8266724dgen_ai.output.messagesMissing output messages attribute
baa5913fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
baa5913fgen_ai.output.messagesMissing output messages attribute
a37dccbbgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a37dccbbgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "88487a65d1010030",
    "parent_span_id": "bb2252783f9f213e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:09.185717Z",
    "timestamp": "2026-08-24T06:28:09.187244Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19455
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "a584f15b6e92db66",
    "parent_span_id": "bb2252783f9f213e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:09.187314Z",
    "timestamp": "2026-08-24T06:28:09.188198Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19455
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "b05f55e705ae54bc",
    "parent_span_id": "a584f15b6e92db66",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:09.188144Z",
    "timestamp": "2026-08-24T06:28:09.188185Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19455
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "97a63886c95304ba",
    "parent_span_id": "bb2252783f9f213e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:09.188232Z",
    "timestamp": "2026-08-24T06:28:09.188248Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19455
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "9f8f04872a00cf34",
    "parent_span_id": "bb2252783f9f213e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:09.189423Z",
    "timestamp": "2026-08-24T06:28:10.602145Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "89d2ac67695c0c04",
    "parent_span_id": "8266724de18c92ab",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:10.629339Z",
    "timestamp": "2026-08-24T06:28:12.992688Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "bda3c337697817d3",
    "parent_span_id": "baa5913f7b613736",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:12.999988Z",
    "timestamp": "2026-08-24T06:28:14.671289Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 51,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "span_id": "be2ffe46d1876e1a",
    "parent_span_id": "a37dccbb77303dff",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:14.683919Z",
    "timestamp": "2026-08-24T06:28:16.471149Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 62,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aca2f1e31fdaa541",
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:09.178551Z",
    "timestamp": "2026-08-24T06:28:16.472162Z",
    "data": {
      "thread.id": "140661870435200",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bb2252783f9f213e",
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "parent_span_id": "aca2f1e31fdaa541",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552889.181179,
    "timestamp": 1787552890.625529,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 128,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aca2f1e31fdaa541",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8266724de18c92ab",
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "parent_span_id": "aca2f1e31fdaa541",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552890.626058,
    "timestamp": 1787552892.99389,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "4. For example, if you have two apples and add two more, you have four apples. Want a couple more practice problems?",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 228,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aca2f1e31fdaa541",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "baa5913f7b613736",
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "parent_span_id": "aca2f1e31fdaa541",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552892.994408,
    "timestamp": 1787552894.672266,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aca2f1e31fdaa541",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a37dccbb77303dff",
    "trace_id": "f6503a02b63e473aae50ea83d303291a",
    "parent_span_id": "aca2f1e31fdaa541",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552894.681784,
    "timestamp": 1787552896.472079,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140661870435200",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "3 + 3 equals 6. You can think of it as having six objects in total.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 221,
      "gen_ai.usage.total_tokens": 271,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aca2f1e31fdaa541",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (sync, blocking, anthropic)❗︎ 1⚠︎ 111945ms
checkAISpanCount(4)
checkChatSpanAttributes
94a481e5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
94a481e5gen_ai.output.messagesMissing output messages attribute
91fd1799gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91fd1799gen_ai.output.messagesMissing output messages attribute
8e36c4e2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8e36c4e2gen_ai.output.messagesMissing output messages attribute
8d9a2ae7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d9a2ae7gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
94a481e5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
91fd1799gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8e36c4e2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8d9a2ae7gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "9cd7d9b5ae225a48",
    "parent_span_id": "94a481e53a8f050d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:10.064173Z",
    "timestamp": "2026-08-24T06:28:10.070791Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19460
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "8ed65057b2f268eb",
    "parent_span_id": "94a481e53a8f050d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:10.070868Z",
    "timestamp": "2026-08-24T06:28:10.071010Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19460
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "98f992b6798b7e5b",
    "parent_span_id": "8ed65057b2f268eb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:10.070968Z",
    "timestamp": "2026-08-24T06:28:10.071002Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19460
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "b15717bdc3fb656d",
    "parent_span_id": "94a481e53a8f050d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:10.071046Z",
    "timestamp": "2026-08-24T06:28:10.071060Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19460
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "80783ef661154075",
    "parent_span_id": "94a481e53a8f050d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:10.072340Z",
    "timestamp": "2026-08-24T06:28:10.747115Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 35,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "bfba4a4fdeee3b12",
    "parent_span_id": "91fd1799837dff0e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:10.903039Z",
    "timestamp": "2026-08-24T06:28:11.908156Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "b95a7e16358a6a14",
    "parent_span_id": "8e36c4e22f6e4d2e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:11.915260Z",
    "timestamp": "2026-08-24T06:28:12.476135Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "span_id": "864740a3461dfc59",
    "parent_span_id": "8d9a2ae7f9605d87",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:12.482718Z",
    "timestamp": "2026-08-24T06:28:13.003102Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 66,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bfe2b2b8961bb4d9",
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:10.000681Z",
    "timestamp": "2026-08-24T06:28:13.004151Z",
    "data": {
      "thread.id": "139995193887616",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "94a481e53a8f050d",
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "parent_span_id": "bfe2b2b8961bb4d9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552890.005459,
    "timestamp": 1787552890.894349,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfe2b2b8961bb4d9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91fd1799837dff0e",
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "parent_span_id": "bfe2b2b8961bb4d9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552890.895027,
    "timestamp": 1787552891.909181,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most fundamental addition facts in mathematics. If you have 2 objects and add 2 more objects, you'll have 4 objects total.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 51,
      "gen_ai.usage.total_tokens": 74,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfe2b2b8961bb4d9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8e36c4e22f6e4d2e",
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "parent_span_id": "bfe2b2b8961bb4d9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552891.909667,
    "timestamp": 1787552892.477443,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfe2b2b8961bb4d9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8d9a2ae7f9605d87",
    "trace_id": "dbd57cb1bb5840808af8800590bad4db",
    "parent_span_id": "bfe2b2b8961bb4d9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552892.477975,
    "timestamp": 1787552893.004069,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139995193887616",
      "thread.name": "MainThread",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "bfe2b2b8961bb4d9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (async, streaming, openai)❗︎ 116815ms
checkAISpanCount(4)
checkChatSpanAttributes
b986ce7cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b986ce7cgen_ai.output.messagesMissing output messages attribute
9e020ae2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e020ae2gen_ai.output.messagesMissing output messages attribute
a020efb2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a020efb2gen_ai.output.messagesMissing output messages attribute
a64cc07cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a64cc07cgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "a4c658b52622ea30",
    "parent_span_id": "b986ce7c9bd1b77f",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:11.681981Z",
    "timestamp": "2026-08-24T06:28:11.686180Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19467
    },
    "data": {
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "88b6f2809533408a",
    "parent_span_id": "b986ce7c9bd1b77f",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:11.686250Z",
    "timestamp": "2026-08-24T06:28:11.686905Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19467
    },
    "data": {
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "a73ebcc55f5f65af",
    "parent_span_id": "88b6f2809533408a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:11.686853Z",
    "timestamp": "2026-08-24T06:28:11.686894Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19467
    },
    "data": {
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "a7e7d8badd72d2ae",
    "parent_span_id": "b986ce7c9bd1b77f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:11.686939Z",
    "timestamp": "2026-08-24T06:28:11.686953Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19467
    },
    "data": {
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "930b0dc78e0ca225",
    "parent_span_id": "b986ce7c9bd1b77f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:11.691452Z",
    "timestamp": "2026-08-24T06:28:12.985881Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139950901861248",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 33,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "a3086f8393153372",
    "parent_span_id": "9e020ae29f6e590b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:13.043164Z",
    "timestamp": "2026-08-24T06:28:14.690308Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139950901861248",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "917e6e07ed4d3919",
    "parent_span_id": "a020efb2953a2f0f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:14.987881Z",
    "timestamp": "2026-08-24T06:28:16.504251Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139950901861248",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 59,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "span_id": "8c0fc4dc2d832763",
    "parent_span_id": "a64cc07c566c7e8d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:16.638524Z",
    "timestamp": "2026-08-24T06:28:18.376282Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139950901861248",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 73,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8a9c0a416b005434",
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:11.657296Z",
    "timestamp": "2026-08-24T06:28:18.534840Z",
    "data": {
      "thread.id": "139950901861248",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b986ce7c9bd1b77f",
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "parent_span_id": "8a9c0a416b005434",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552891.666327,
    "timestamp": 1787552893.037874,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 128,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8a9c0a416b005434",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e020ae29f6e590b",
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "parent_span_id": "8a9c0a416b005434",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552893.040895,
    "timestamp": 1787552894.978775,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "4\n\nReason: 2 added to another 2 gives four. You can see it by counting: two, three, four; or by moving 2 steps on a number line twice. If you’d like, I can show quick alternative explanations.",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 252,
      "gen_ai.usage.total_tokens": 276,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8a9c0a416b005434",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a020efb2953a2f0f",
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "parent_span_id": "8a9c0a416b005434",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552894.979515,
    "timestamp": 1787552896.634147,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "The capital of Germany is Berlin. If you want more details about Berlin or Germany, I can share them.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 223,
      "gen_ai.usage.total_tokens": 267,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8a9c0a416b005434",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a64cc07c566c7e8d",
    "trace_id": "51174bfb3ab0498f8d5df4fad4e4c81e",
    "parent_span_id": "8a9c0a416b005434",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552896.634846,
    "timestamp": 1787552898.524162,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139950772577984",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "3 + 3 equals 6. Reason: add 3 to itself, giving six.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 220,
      "gen_ai.usage.total_tokens": 270,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8a9c0a416b005434",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (async, streaming, anthropic)❗︎ 1⚠︎ 113784ms
checkAISpanCount(4)
checkChatSpanAttributes
95bdc5b5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95bdc5b5gen_ai.output.messagesMissing output messages attribute
8a3fe086gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a3fe086gen_ai.output.messagesMissing output messages attribute
aeee23f5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aeee23f5gen_ai.output.messagesMissing output messages attribute
ac586b1agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ac586b1agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
95bdc5b5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8a3fe086gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
aeee23f5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ac586b1agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "9714a00e72e0ac6f",
    "parent_span_id": "95bdc5b502452ddc",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:12.476919Z",
    "timestamp": "2026-08-24T06:28:12.479059Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19471
    },
    "data": {
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "9a030a66ddc79d6d",
    "parent_span_id": "95bdc5b502452ddc",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:12.479135Z",
    "timestamp": "2026-08-24T06:28:12.481100Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19471
    },
    "data": {
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "b2056a4719b3ad4b",
    "parent_span_id": "9a030a66ddc79d6d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:12.480912Z",
    "timestamp": "2026-08-24T06:28:12.481084Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19471
    },
    "data": {
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "bad5da4a1cfa68c7",
    "parent_span_id": "95bdc5b502452ddc",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:12.481135Z",
    "timestamp": "2026-08-24T06:28:12.481149Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19471
    },
    "data": {
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "92d68e5d153dd077",
    "parent_span_id": "95bdc5b502452ddc",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:12.483792Z",
    "timestamp": "2026-08-24T06:28:14.152007Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140559659121536",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 37,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "a46c46ca35f86b99",
    "parent_span_id": "8a3fe086517c4a16",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:14.193652Z",
    "timestamp": "2026-08-24T06:28:14.653915Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140559659121536",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "8d0b846e1facdb1e",
    "parent_span_id": "aeee23f561a41e1a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:15.082429Z",
    "timestamp": "2026-08-24T06:28:15.666306Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140559659121536",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "span_id": "8b7d41394b3d6a66",
    "parent_span_id": "ac586b1a4fe59677",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:15.695046Z",
    "timestamp": "2026-08-24T06:28:16.214526Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140559659121536",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 77,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9863f469171581b5",
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:12.407704Z",
    "timestamp": "2026-08-24T06:28:16.278946Z",
    "data": {
      "thread.id": "140559659121536",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "95bdc5b502452ddc",
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "parent_span_id": "9863f469171581b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552892.413859,
    "timestamp": 1787552894.191405,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9863f469171581b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a3fe086517c4a16",
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "parent_span_id": "9863f469171581b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552894.192111,
    "timestamp": 1787552895.078174,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most fundamental facts in arithmetic. When you combine 2 objects with 2 more objects, you end up with 4 objects total.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 50,
      "gen_ai.usage.total_tokens": 73,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9863f469171581b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aeee23f561a41e1a",
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "parent_span_id": "9863f469171581b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552895.080761,
    "timestamp": 1787552895.689934,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9863f469171581b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ac586b1a4fe59677",
    "trace_id": "d042610cfeb34960b48880824cb0cf74",
    "parent_span_id": "9863f469171581b5",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552895.692745,
    "timestamp": 1787552896.271788,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140559448536768",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9863f469171581b5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (async, blocking, openai)❗︎ 116240ms
checkAISpanCount(4)
checkChatSpanAttributes
a96ce2bfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a96ce2bfgen_ai.output.messagesMissing output messages attribute
905d18f6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
905d18f6gen_ai.output.messagesMissing output messages attribute
aca85b86gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aca85b86gen_ai.output.messagesMissing output messages attribute
90100d18gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
90100d18gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "94067a1040f55131",
    "parent_span_id": "a96ce2bf5b44caad",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:12.538796Z",
    "timestamp": "2026-08-24T06:28:12.541918Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19474
    },
    "data": {
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "972f482aec4a41f6",
    "parent_span_id": "a96ce2bf5b44caad",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:12.541994Z",
    "timestamp": "2026-08-24T06:28:12.542120Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19474
    },
    "data": {
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "88d6c834a7c1cb46",
    "parent_span_id": "972f482aec4a41f6",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:12.542080Z",
    "timestamp": "2026-08-24T06:28:12.542113Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19474
    },
    "data": {
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "99f16d080bca2f46",
    "parent_span_id": "a96ce2bf5b44caad",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:12.542151Z",
    "timestamp": "2026-08-24T06:28:12.542164Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19474
    },
    "data": {
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "b5e2fd5c4ec41246",
    "parent_span_id": "a96ce2bf5b44caad",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:12.544663Z",
    "timestamp": "2026-08-24T06:28:13.712702Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139740178148224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "952667f483ee94c0",
    "parent_span_id": "905d18f68255e6e9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:13.744142Z",
    "timestamp": "2026-08-24T06:28:15.709366Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139740178148224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "a4945415dc627051",
    "parent_span_id": "aca85b86d61d7663",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:15.718506Z",
    "timestamp": "2026-08-24T06:28:17.498167Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139740178148224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "span_id": "b169687f67eac986",
    "parent_span_id": "90100d182c17141c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:17.505477Z",
    "timestamp": "2026-08-24T06:28:19.825766Z",
    "origin": "auto.http.httpx2",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139740178148224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-openai.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "ad83a1acfbc6eb98",
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:12.525461Z",
    "timestamp": "2026-08-24T06:28:19.838164Z",
    "data": {
      "thread.id": "139740178148224",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a96ce2bf5b44caad",
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "parent_span_id": "ad83a1acfbc6eb98",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552892.531034,
    "timestamp": 1787552893.741462,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 64,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad83a1acfbc6eb98",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "905d18f68255e6e9",
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "parent_span_id": "ad83a1acfbc6eb98",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552893.742171,
    "timestamp": 1787552895.715151,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "4. Quick way: start at 2 and count two more: 3, 4. Want another method or a quick practice problem?",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 294,
      "gen_ai.usage.total_tokens": 318,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 256,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad83a1acfbc6eb98",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aca85b86d61d7663",
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "parent_span_id": "ad83a1acfbc6eb98",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552895.715842,
    "timestamp": 1787552897.502309,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Berlin.\n\nBerlin is the capital and largest city of Germany. Want more details about Germany?",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 219,
      "gen_ai.usage.total_tokens": 263,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 192,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad83a1acfbc6eb98",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90100d182c17141c",
    "trace_id": "e93e24a14bcc4abb90d2bf809867aad2",
    "parent_span_id": "ad83a1acfbc6eb98",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552897.503005,
    "timestamp": 1787552899.829112,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "139740047849152",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system": "openai-chat",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.finish_reasons": [
        "stop"
      ],
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "3 + 3 = 6.\n\nYou can see it as doubling 3 (2 × 3 = 6) or by counting up from 3: 3, 4, 5, 6.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 310,
      "gen_ai.usage.total_tokens": 360,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 256,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ad83a1acfbc6eb98",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/langchain :: Conversation ID LLM Test (async, blocking, anthropic)❗︎ 1⚠︎ 19950ms
checkAISpanCount(4)
checkChatSpanAttributes
a92798a9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a92798a9gen_ai.output.messagesMissing output messages attribute
a4c9df3cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4c9df3cgen_ai.output.messagesMissing output messages attribute
8a73c8abgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8a73c8abgen_ai.output.messagesMissing output messages attribute
ba15a4dagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba15a4dagen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a92798a9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a4c9df3cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8a73c8abgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
ba15a4dagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.usage.cache_creation.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_creation.input_tokens" is not defined in sentry-conventions
gen_ai.usage.cache_read.input_tokens(4 spans)
Attribute "gen_ai.usage.cache_read.input_tokens" is not defined in sentry-conventions
gen_ai.usage.reasoning.output_tokens(4 spans)
Attribute "gen_ai.usage.reasoning.output_tokens" is not defined in sentry-conventions
{}Captured Spans (13)
[
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "9e70a2facd5dc860",
    "parent_span_id": "a92798a9f9a079b1",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:11.603994Z",
    "timestamp": "2026-08-24T06:28:11.608728Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19464
    },
    "data": {
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "8b20882db4fc4267",
    "parent_span_id": "a92798a9f9a079b1",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:11.608816Z",
    "timestamp": "2026-08-24T06:28:11.608949Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19464
    },
    "data": {
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "802370fc8eea4562",
    "parent_span_id": "8b20882db4fc4267",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:11.608908Z",
    "timestamp": "2026-08-24T06:28:11.608941Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19464
    },
    "data": {
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "aa43db8fea3d78ff",
    "parent_span_id": "a92798a9f9a079b1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:11.608981Z",
    "timestamp": "2026-08-24T06:28:11.608995Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19464
    },
    "data": {
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "b46dbad21792b9d0",
    "parent_span_id": "a92798a9f9a079b1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:11.610396Z",
    "timestamp": "2026-08-24T06:28:12.179985Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140095970327424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 72,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "97333ccb33fc1f2c",
    "parent_span_id": "a4c9df3cf7a47dd2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:12.229882Z",
    "timestamp": "2026-08-24T06:28:13.161098Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140095970327424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 72,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "b5e36b4560513dd0",
    "parent_span_id": "8a73c8ab1052b50b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:13.163680Z",
    "timestamp": "2026-08-24T06:28:13.707084Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140095970327424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 72,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "span_id": "93156416e2f3c878",
    "parent_span_id": "ba15a4da9f433180",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/messages",
    "start_timestamp": "2026-08-24T06:28:13.718881Z",
    "timestamp": "2026-08-24T06:28:14.424832Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140095970327424",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/messages",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 72,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-anthropic.py",
      "code.function": "<module>"
    }
  },
  {
    "span_id": "82d8e5f677c1414a",
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:28:11.532731Z",
    "timestamp": "2026-08-24T06:28:14.428911Z",
    "data": {
      "thread.id": "140095970327424",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a92798a9f9a079b1",
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "parent_span_id": "82d8e5f677c1414a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552891.536984,
    "timestamp": 1787552892.227511,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of France is Paris.",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "82d8e5f677c1414a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a4c9df3cf7a47dd2",
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "parent_span_id": "82d8e5f677c1414a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552892.22828,
    "timestamp": 1787552893.162052,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "2 + 2 = **4**\n\nThis is one of the most basic addition facts in mathematics. When you combine 2 items with 2 more items, you get a total of 4 items.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 51,
      "gen_ai.usage.total_tokens": 74,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "82d8e5f677c1414a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8a73c8ab1052b50b",
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "parent_span_id": "82d8e5f677c1414a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552893.162564,
    "timestamp": 1787552893.713766,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "82d8e5f677c1414a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba15a4da9f433180",
    "trace_id": "7a665f134cbb4514885cf03df02edd65",
    "parent_span_id": "82d8e5f677c1414a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552893.717327,
    "timestamp": 1787552894.426831,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.langchain",
      "thread.id": "140095839528640",
      "thread.name": "asyncio_0",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "claude-haiku-4-5",
      "gen_ai.system": "anthropic-chat",
      "gen_ai.request.max_tokens": 64000,
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "3 + 3 equals 6.",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.usage.cache_read.input_tokens": 0,
      "gen_ai.usage.cache_creation.input_tokens": 0,
      "gen_ai.usage.reasoning.output_tokens": 0,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "82d8e5f677c1414a",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, streaming, completion, openai)❗︎ 119478ms
checkAISpanCount(1)
checkChatSpanAttributes
a0e4c5b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a0e4c5b4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "span_id": "97b2220a8948c274",
    "parent_span_id": "a0e4c5b40734efa9",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:21.428964Z",
    "timestamp": "2026-08-24T06:28:21.435703Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19516
    },
    "data": {
      "thread.id": "140677485665152",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "span_id": "b7e616e651ae7a53",
    "parent_span_id": "a0e4c5b40734efa9",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:21.435783Z",
    "timestamp": "2026-08-24T06:28:21.436002Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19516
    },
    "data": {
      "thread.id": "140677485665152",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "span_id": "8fdb72588d2df5d9",
    "parent_span_id": "b7e616e651ae7a53",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:21.435967Z",
    "timestamp": "2026-08-24T06:28:21.435998Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19516
    },
    "data": {
      "thread.id": "140677485665152",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "span_id": "a495e803f2f9296c",
    "parent_span_id": "a0e4c5b40734efa9",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:21.436031Z",
    "timestamp": "2026-08-24T06:28:21.436042Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19516
    },
    "data": {
      "thread.id": "140677485665152",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "span_id": "bcf665fd59053dea",
    "parent_span_id": "a0e4c5b40734efa9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:21.437360Z",
    "timestamp": "2026-08-24T06:28:22.494596Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140677485665152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ae19fae5be443861",
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:21.336368Z",
    "timestamp": "2026-08-24T06:28:23.306712Z",
    "data": {
      "thread.id": "140677485665152",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a0e4c5b40734efa9",
    "trace_id": "df62536261ca4d389c330df9dfbab62b",
    "parent_span_id": "ae19fae5be443861",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552901.410559,
    "timestamp": 1787552903.201053,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140677485665152",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "ae19fae5be443861",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, streaming, completion, anthropic)❗︎ 1⚠︎ 119348ms
checkAISpanCount(1)
checkChatSpanAttributes
8c0f8baadescriptionSpan 8c0f8baa: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8c0f8baagen_ai.request.modelSpan 8c0f8baa: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8c0f8baagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "708e144fe3f948fd90e11d861ff1f162",
    "span_id": "90f4857e899c342b",
    "parent_span_id": "8c0f8baa4f506b9e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:21.728720Z",
    "timestamp": "2026-08-24T06:28:22.802498Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139841984441216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b5ed1b4d23bd68f2",
    "trace_id": "708e144fe3f948fd90e11d861ff1f162",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:21.305150Z",
    "timestamp": "2026-08-24T06:28:22.951795Z",
    "data": {
      "thread.id": "139841984441216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8c0f8baa4f506b9e",
    "trace_id": "708e144fe3f948fd90e11d861ff1f162",
    "parent_span_id": "b5ed1b4d23bd68f2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552901.724013,
    "timestamp": 1787552902.85831,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139841984441216",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "b5ed1b4d23bd68f2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, streaming, responses, openai)❗︎ 1 118779ms
checkAISpanCount(1)
checkChatSpanAttributes
880a068dgen_ai.usage.input_tokensSpan 880a068d: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
880a068dgen_ai.usage.output_tokensSpan 880a068d: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
880a068dgen_ai.usage.input_tokensinput_tokens must exist
880a068dgen_ai.usage.output_tokensoutput_tokens must exist
880a068dgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "742605ebd7c94e528e8bb4255b7f3e53",
    "span_id": "87b4dd6186a2e974",
    "parent_span_id": "880a068d9c0300b6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:21.399769Z",
    "timestamp": "2026-08-24T06:28:21.814635Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140383289179008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b1b8e894611cfd90",
    "trace_id": "742605ebd7c94e528e8bb4255b7f3e53",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:21.353762Z",
    "timestamp": "2026-08-24T06:28:23.146722Z",
    "data": {
      "thread.id": "140383289179008",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "880a068d9c0300b6",
    "trace_id": "742605ebd7c94e528e8bb4255b7f3e53",
    "parent_span_id": "b1b8e894611cfd90",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552901.399008,
    "timestamp": 1787552903.031319,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140383289179008",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "b1b8e894611cfd90",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, streaming, responses, anthropic)❗︎ 2 118855ms
checkAISpanCount(1)
Should have exactly 1 AI span(s) but found 0
checkChatSpanAttributes
Should have at least one chat/completion span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
{}Captured Spans (2)
[
  {
    "trace_id": "181a9edb5ddf4c6ba8014c5ead2265a4",
    "span_id": "806ec2fcaeef5267",
    "parent_span_id": "b89ca3b9a8d175b0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:21.380737Z",
    "timestamp": "2026-08-24T06:28:21.938743Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140322938698624",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bd4ba3602e5d46e8",
    "trace_id": "181a9edb5ddf4c6ba8014c5ead2265a4",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:21.307075Z",
    "timestamp": "2026-08-24T06:28:22.421728Z",
    "data": {
      "thread.id": "140322938698624",
      "thread.name": "MainThread"
    }
  }
]
python/litellm :: Basic LLM Test (sync, blocking, completion, openai)❗︎ 111469ms
checkAISpanCount(1)
checkChatSpanAttributes
82c429cfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82c429cfgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "span_id": "ba850c751e372e9f",
    "parent_span_id": "82c429cfe65b5d88",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:21.422074Z",
    "timestamp": "2026-08-24T06:28:21.427713Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19515
    },
    "data": {
      "thread.id": "140183400799104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "span_id": "b7d2f879cca409cd",
    "parent_span_id": "82c429cfe65b5d88",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:21.427792Z",
    "timestamp": "2026-08-24T06:28:21.427917Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19515
    },
    "data": {
      "thread.id": "140183400799104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "span_id": "9e22ee115269af98",
    "parent_span_id": "b7d2f879cca409cd",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:21.427881Z",
    "timestamp": "2026-08-24T06:28:21.427912Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19515
    },
    "data": {
      "thread.id": "140183400799104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "span_id": "b8ae56703420bf09",
    "parent_span_id": "82c429cfe65b5d88",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:21.427950Z",
    "timestamp": "2026-08-24T06:28:21.427963Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19515
    },
    "data": {
      "thread.id": "140183400799104",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "span_id": "965aae921a7d1d07",
    "parent_span_id": "82c429cfe65b5d88",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:21.429372Z",
    "timestamp": "2026-08-24T06:28:22.675043Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140183400799104",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aec8ef92e8020ed6",
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:21.306482Z",
    "timestamp": "2026-08-24T06:28:22.843712Z",
    "data": {
      "thread.id": "140183400799104",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "82c429cfe65b5d88",
    "trace_id": "d492fe29f6234664880d7d78ac4907e0",
    "parent_span_id": "aec8ef92e8020ed6",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552901.407088,
    "timestamp": 1787552902.738043,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140183400799104",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "aec8ef92e8020ed6",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, blocking, completion, anthropic)❗︎ 1⚠︎ 111460ms
checkAISpanCount(1)
checkChatSpanAttributes
9988550edescriptionSpan 9988550e: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
9988550egen_ai.request.modelSpan 9988550e: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
9988550egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "ab2a70c27ab842f3a78683ea37728d7e",
    "span_id": "9fc4116514f598c6",
    "parent_span_id": "9988550e3b0d6722",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:21.781672Z",
    "timestamp": "2026-08-24T06:28:22.464031Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139974055152512",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "86cbf5c5049e1bb9",
    "trace_id": "ab2a70c27ab842f3a78683ea37728d7e",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:21.309814Z",
    "timestamp": "2026-08-24T06:28:22.578911Z",
    "data": {
      "thread.id": "139974055152512",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9988550e3b0d6722",
    "trace_id": "ab2a70c27ab842f3a78683ea37728d7e",
    "parent_span_id": "86cbf5c5049e1bb9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552901.780471,
    "timestamp": 1787552902.479445,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139974055152512",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "86cbf5c5049e1bb9",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, blocking, responses, openai)❗︎ 113360ms
checkAISpanCount(1)
checkChatSpanAttributes
a06b7039gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "3fa059b818bb4110bc96c0aaf2ee5594",
    "span_id": "b2aaf54f04581f38",
    "parent_span_id": "a06b70398735f58d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:24.546135Z",
    "timestamp": "2026-08-24T06:28:25.700970Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139904007781248",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a02b7487ff8cbece",
    "trace_id": "3fa059b818bb4110bc96c0aaf2ee5594",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:24.524471Z",
    "timestamp": "2026-08-24T06:28:25.818453Z",
    "data": {
      "thread.id": "139904007781248",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a06b70398735f58d",
    "trace_id": "3fa059b818bb4110bc96c0aaf2ee5594",
    "parent_span_id": "a02b7487ff8cbece",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552904.542312,
    "timestamp": 1787552905.722335,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139904007781248",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 107,
      "gen_ai.usage.total_tokens": 130,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a02b7487ff8cbece",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (sync, blocking, responses, anthropic)❗︎ 1⚠︎ 115234ms
checkAISpanCount(1)
checkChatSpanAttributes
ad79a334descriptionSpan ad79a334: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
ad79a334gen_ai.request.modelSpan ad79a334: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
ad79a334gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "b85e3dce4c1a4adb824ccc5f963bc0a4",
    "span_id": "aea4fbb5bd133d60",
    "parent_span_id": "ad79a33414de84c0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:29.244422Z",
    "timestamp": "2026-08-24T06:28:30.047079Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139900065627008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "821c222b640045a7",
    "trace_id": "b85e3dce4c1a4adb824ccc5f963bc0a4",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:29.209433Z",
    "timestamp": "2026-08-24T06:28:30.184230Z",
    "data": {
      "thread.id": "139900065627008",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ad79a33414de84c0",
    "trace_id": "b85e3dce4c1a4adb824ccc5f963bc0a4",
    "parent_span_id": "821c222b640045a7",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552909.24365,
    "timestamp": 1787552910.077575,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139900065627008",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "821c222b640045a7",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (async, streaming, completion, openai)❗︎ 114178ms
checkAISpanCount(1)
checkChatSpanAttributes
a4fd22b4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a4fd22b4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "span_id": "b57db381e643753f",
    "parent_span_id": "a4fd22b4baaa73fe",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:27.289779Z",
    "timestamp": "2026-08-24T06:28:27.291737Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19553
    },
    "data": {
      "thread.id": "139716079478464",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "span_id": "817a181806224617",
    "parent_span_id": "a4fd22b4baaa73fe",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:27.291809Z",
    "timestamp": "2026-08-24T06:28:27.291939Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19553
    },
    "data": {
      "thread.id": "139716079478464",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "span_id": "b71abde56b0dda28",
    "parent_span_id": "817a181806224617",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:27.291896Z",
    "timestamp": "2026-08-24T06:28:27.291932Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19553
    },
    "data": {
      "thread.id": "139716079478464",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "span_id": "bf3e659834cdde52",
    "parent_span_id": "a4fd22b4baaa73fe",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:27.291976Z",
    "timestamp": "2026-08-24T06:28:27.291993Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19553
    },
    "data": {
      "thread.id": "139716079478464",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "span_id": "bc7152126f7a483d",
    "parent_span_id": "a4fd22b4baaa73fe",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:27.295597Z",
    "timestamp": "2026-08-24T06:28:28.240655Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139716243348352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "span_id": "be79b802817835c4",
    "parent_span_id": "bc7152126f7a483d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:27.296331Z",
    "timestamp": "2026-08-24T06:28:28.231263Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139716243348352",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ba311ac3695e8099",
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:27.235432Z",
    "timestamp": "2026-08-24T06:28:29.129059Z",
    "data": {
      "thread.id": "139716243348352",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a4fd22b4baaa73fe",
    "trace_id": "f93dbdf89af844a2bd3b6bd28e14ba1a",
    "parent_span_id": "ba311ac3695e8099",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552907.281593,
    "timestamp": 1787552909.023397,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139716243348352",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "ba311ac3695e8099",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (async, streaming, completion, anthropic)❗︎ 1⚠︎ 115441ms
checkAISpanCount(1)
checkChatSpanAttributes
8ffe5d72descriptionSpan 8ffe5d72: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8ffe5d72gen_ai.request.modelSpan 8ffe5d72: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8ffe5d72gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "5d9b7c7007144a8984e37a46d1248b9b",
    "span_id": "bef1f0fc911076d0",
    "parent_span_id": "8ffe5d72a2086510",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:30.376782Z",
    "timestamp": "2026-08-24T06:28:31.136119Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139862345337728",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "5d9b7c7007144a8984e37a46d1248b9b",
    "span_id": "98fbc7c5a1984a13",
    "parent_span_id": "bef1f0fc911076d0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:30.377688Z",
    "timestamp": "2026-08-24T06:28:31.135019Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139862345337728",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a9e177678dcadc7c",
    "trace_id": "5d9b7c7007144a8984e37a46d1248b9b",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:29.691726Z",
    "timestamp": "2026-08-24T06:28:31.691921Z",
    "data": {
      "thread.id": "139862345337728",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8ffe5d72a2086510",
    "trace_id": "5d9b7c7007144a8984e37a46d1248b9b",
    "parent_span_id": "a9e177678dcadc7c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552910.375157,
    "timestamp": 1787552911.587262,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139862181766848",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris. It is located in the north-central part of the country along the Seine River and is the country's largest city by population. Paris is known for its art, fashion, gastronomy, and landmarks such as the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 72,
      "gen_ai.usage.total_tokens": 92,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a9e177678dcadc7c",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (async, streaming, responses, openai)❗︎ 1 113352ms
checkAISpanCount(1)
checkChatSpanAttributes
947ed984gen_ai.usage.input_tokensSpan 947ed984: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
947ed984gen_ai.usage.output_tokensSpan 947ed984: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
947ed984gen_ai.usage.input_tokensinput_tokens must exist
947ed984gen_ai.usage.output_tokensoutput_tokens must exist
947ed984gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "6a98b78d729b41e4abced1081798bd41",
    "span_id": "acf44ab5aaf88b22",
    "parent_span_id": "947ed984064887b7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:28.481946Z",
    "timestamp": "2026-08-24T06:28:28.779264Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139814258023296",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "6a98b78d729b41e4abced1081798bd41",
    "span_id": "b8ee154e6acdc1a2",
    "parent_span_id": "acf44ab5aaf88b22",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:28.482794Z",
    "timestamp": "2026-08-24T06:28:28.778011Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139814258023296",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b8c85cd42c92c7fa",
    "trace_id": "6a98b78d729b41e4abced1081798bd41",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:28.008799Z",
    "timestamp": "2026-08-24T06:28:30.798888Z",
    "data": {
      "thread.id": "139814258023296",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "947ed984064887b7",
    "trace_id": "6a98b78d729b41e4abced1081798bd41",
    "parent_span_id": "b8c85cd42c92c7fa",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552908.481165,
    "timestamp": 1787552910.683508,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139814258023296",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "b8c85cd42c92c7fa",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (async, blocking, completion, openai)❗︎ 113084ms
checkAISpanCount(1)
checkChatSpanAttributes
8c340d4egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c340d4egen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "span_id": "afc097778da12448",
    "parent_span_id": "8c340d4ef5d06bcb",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:35.307872Z",
    "timestamp": "2026-08-24T06:28:35.314727Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19597
    },
    "data": {
      "thread.id": "140363475539648",
      "thread.name": "asyncio_1"
    }
  },
  {
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "span_id": "b2ca803b79fba6d3",
    "parent_span_id": "8c340d4ef5d06bcb",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:35.314806Z",
    "timestamp": "2026-08-24T06:28:35.314932Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19597
    },
    "data": {
      "thread.id": "140363475539648",
      "thread.name": "asyncio_1"
    }
  },
  {
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "span_id": "bde664fb87c54b8e",
    "parent_span_id": "b2ca803b79fba6d3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:35.314897Z",
    "timestamp": "2026-08-24T06:28:35.314928Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19597
    },
    "data": {
      "thread.id": "140363475539648",
      "thread.name": "asyncio_1"
    }
  },
  {
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "span_id": "836ae4ea7d88b4fc",
    "parent_span_id": "8c340d4ef5d06bcb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:35.314961Z",
    "timestamp": "2026-08-24T06:28:35.314973Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19597
    },
    "data": {
      "thread.id": "140363475539648",
      "thread.name": "asyncio_1"
    }
  },
  {
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "span_id": "a27a7b93b45a8da6",
    "parent_span_id": "8c340d4ef5d06bcb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:35.316704Z",
    "timestamp": "2026-08-24T06:28:36.571969Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140363654859648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "span_id": "b5c3769a93abcb5c",
    "parent_span_id": "a27a7b93b45a8da6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:35.317444Z",
    "timestamp": "2026-08-24T06:28:36.570592Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140363654859648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "80bd38f551767d0e",
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:35.238900Z",
    "timestamp": "2026-08-24T06:28:36.739016Z",
    "data": {
      "thread.id": "140363654859648",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8c340d4ef5d06bcb",
    "trace_id": "60176505be524fd5a7a4bf7c4ba6242b",
    "parent_span_id": "80bd38f551767d0e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552915.295245,
    "timestamp": 1787552916.644418,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140363654859648",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "80bd38f551767d0e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (async, blocking, completion, anthropic)❗︎ 1⚠︎ 114281ms
checkAISpanCount(1)
checkChatSpanAttributes
914c76e0descriptionSpan 914c76e0: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
914c76e0gen_ai.request.modelSpan 914c76e0: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
914c76e0gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "902643af41f9438a8cad08aaa2b07f76",
    "span_id": "9a71f61415994815",
    "parent_span_id": "914c76e057b52f5e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:36.186179Z",
    "timestamp": "2026-08-24T06:28:36.857816Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139995556539264",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "902643af41f9438a8cad08aaa2b07f76",
    "span_id": "a968474013ab1dc6",
    "parent_span_id": "9a71f61415994815",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:36.187062Z",
    "timestamp": "2026-08-24T06:28:36.856425Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139995556539264",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a1e9ac193b94767e",
    "trace_id": "902643af41f9438a8cad08aaa2b07f76",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:35.619831Z",
    "timestamp": "2026-08-24T06:28:37.011896Z",
    "data": {
      "thread.id": "139995556539264",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "914c76e057b52f5e",
    "trace_id": "902643af41f9438a8cad08aaa2b07f76",
    "parent_span_id": "a1e9ac193b94767e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552916.181377,
    "timestamp": 1787552916.910147,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139995393910464",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a1e9ac193b94767e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic LLM Test (async, blocking, responses, openai)❗︎ 114591ms
checkAISpanCount(1)
checkChatSpanAttributes
b4c1f0dfgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "b8bdc81a97c24135ae8bca9d4deeec87",
    "span_id": "8de86124779eb495",
    "parent_span_id": "b4c1f0df67170fb2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:36.074959Z",
    "timestamp": "2026-08-24T06:28:37.309119Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140478210354048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b8bdc81a97c24135ae8bca9d4deeec87",
    "span_id": "970453861eb11a5e",
    "parent_span_id": "8de86124779eb495",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:36.075763Z",
    "timestamp": "2026-08-24T06:28:37.280352Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140478210354048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8afd0b6c3dafa2bd",
    "trace_id": "b8bdc81a97c24135ae8bca9d4deeec87",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:28:36.053070Z",
    "timestamp": "2026-08-24T06:28:37.481017Z",
    "data": {
      "thread.id": "140478210354048",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b4c1f0df67170fb2",
    "trace_id": "b8bdc81a97c24135ae8bca9d4deeec87",
    "parent_span_id": "8afd0b6c3dafa2bd",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552916.074254,
    "timestamp": 1787552917.383722,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140478210354048",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 111,
      "gen_ai.usage.total_tokens": 134,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "8afd0b6c3dafa2bd",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, streaming, completion, openai)❗︎ 130805ms
checkAISpanCount(3)
checkChatSpanAttributes
bca1e2e1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bca1e2e1gen_ai.output.messagesMissing output messages attribute
8860d277gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8860d277gen_ai.output.messagesMissing output messages attribute
894b90bdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
894b90bdgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "a8e6095e3cccf001",
    "parent_span_id": "bca1e2e1d1bed6da",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:37.454975Z",
    "timestamp": "2026-08-24T06:28:37.461073Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19621
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "9dcd6a29bca6a24d",
    "parent_span_id": "bca1e2e1d1bed6da",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:37.461146Z",
    "timestamp": "2026-08-24T06:28:37.461714Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19621
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "b75a127939ac80a3",
    "parent_span_id": "9dcd6a29bca6a24d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:37.461662Z",
    "timestamp": "2026-08-24T06:28:37.461705Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19621
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "86d5ffac651cdc99",
    "parent_span_id": "bca1e2e1d1bed6da",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:37.461756Z",
    "timestamp": "2026-08-24T06:28:37.461770Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19621
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "a29e96050549537f",
    "parent_span_id": "bca1e2e1d1bed6da",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:37.463281Z",
    "timestamp": "2026-08-24T06:28:38.420646Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "877aa3dcbedd5324",
    "parent_span_id": "8860d277ca4b007b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:39.228152Z",
    "timestamp": "2026-08-24T06:28:46.306140Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "span_id": "afdf9f1573bfa296",
    "parent_span_id": "894b90bdd6f4dec0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.888769Z",
    "timestamp": "2026-08-24T06:28:55.367727Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a81002774e45439d",
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:37.413842Z",
    "timestamp": "2026-08-24T06:28:55.931071Z",
    "data": {
      "thread.id": "140648433433472",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bca1e2e1d1bed6da",
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "parent_span_id": "a81002774e45439d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552917.447964,
    "timestamp": 1787552919.121642,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140648433433472",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a81002774e45439d",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8860d277ca4b007b",
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "parent_span_id": "a81002774e45439d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552919.222452,
    "timestamp": 1787552926.785062,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140648433433472",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1254,
      "gen_ai.usage.total_tokens": 1302,
      "gen_ai.response.text": "{\"content\": \"Do you mean Paris the city proper (the municipality) or the wider Paris metropolitan area?\\n\\n- City proper: about 2.1 million people (roughly 2.15 million in recent years).\\n- Paris metropolitan area (\\u00cele-de-France): about 12 million people.\\n- Paris urban area (aire urbaine): around 11\\u201312 million.\\n\\nIf you tell me which measure and the year you want, I can give a precise figure.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a81002774e45439d",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "894b90bdd6f4dec0",
    "trace_id": "693f7d557f6441ab87abc04222b59938",
    "parent_span_id": "a81002774e45439d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552926.886132,
    "timestamp": 1787552935.831507,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140648433433472",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1827,
      "gen_ai.usage.total_tokens": 1908,
      "gen_ai.response.text": "{\"content\": \"Definitions vary, so the numbers differ:\\n\\n- Paris urban area (aire urbaine) \\u2014 the continuous built-up area around Paris: about 12 million people.\\n- \\u00cele-de-France region (the wider metropolitan region around Paris): roughly 12\\u201313 million people in recent years (about 12.0\\u201312.5 million commonly cited).\\n\\nIf you have a specific definition or year in mind, I can give a more precise figure.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a81002774e45439d",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, streaming, completion, anthropic)❗︎ 1⚠︎ 115959ms
checkAISpanCount(3)
checkChatSpanAttributes
b52e3c90descriptionSpan b52e3c90: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b52e3c90gen_ai.request.modelSpan b52e3c90: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
8d1a0ca8descriptionSpan 8d1a0ca8: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8d1a0ca8gen_ai.request.modelSpan 8d1a0ca8: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
be2064dbdescriptionSpan be2064db: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
be2064dbgen_ai.request.modelSpan be2064db: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b52e3c90gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
8d1a0ca8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
be2064dbgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "span_id": "bb6839c6d3b39118",
    "parent_span_id": "b52e3c9072634e16",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:36.805582Z",
    "timestamp": "2026-08-24T06:28:37.384706Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139808008493952",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "span_id": "90e7fc91ae3c5986",
    "parent_span_id": "8d1a0ca88c397500",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:37.753953Z",
    "timestamp": "2026-08-24T06:28:38.354238Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139808008493952",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "span_id": "96c0f69596f96f37",
    "parent_span_id": "be2064db70a404ab",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:39.296017Z",
    "timestamp": "2026-08-24T06:28:39.945273Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139808008493952",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "96ea29ba066ee06e",
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:36.216226Z",
    "timestamp": "2026-08-24T06:28:40.326957Z",
    "data": {
      "thread.id": "139808008493952",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b52e3c9072634e16",
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "parent_span_id": "96ea29ba066ee06e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552916.804389,
    "timestamp": 1787552917.655702,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139808008493952",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is **Paris**. It is the largest city in France and has been the capital since the 12th century. Paris is located in the north-central part of the country along the Seine River.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 48,
      "gen_ai.usage.total_tokens": 68,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "96ea29ba066ee06e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8d1a0ca88c397500",
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "parent_span_id": "96ea29ba066ee06e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552917.753136,
    "timestamp": 1787552919.187777,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139808008493952",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The population of Paris depends on which area you're referring to:\\n\\n- **City of Paris proper**: Approximately 2.1-2.2 million people\\n- **Greater Paris (\\u00cele-de-France region)**: Approximately 12 million people\\n\\nThe city proper makes Paris one of the most densely populated cities in Europe, while the metropolitan area is one of the largest urban agglomerations in the continent.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 94,
      "gen_ai.usage.total_tokens": 135,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "96ea29ba066ee06e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be2064db70a404ab",
    "trace_id": "de4a899941964d87972cd5a9e7a7dc7f",
    "parent_span_id": "96ea29ba066ee06e",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552919.29523,
    "timestamp": 1787552920.226059,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139808008493952",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The Paris metropolitan area (known as the \\u00cele-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 41,
      "gen_ai.usage.total_tokens": 112,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "96ea29ba066ee06e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, streaming, responses, openai)❗︎ 1 135122ms
checkAISpanCount(3)
checkChatSpanAttributes
ac2cdffegen_ai.usage.input_tokensSpan ac2cdffe: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
ac2cdffegen_ai.usage.output_tokensSpan ac2cdffe: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
aea78dd6gen_ai.usage.input_tokensSpan aea78dd6: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
aea78dd6gen_ai.usage.output_tokensSpan aea78dd6: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
bcebc729gen_ai.usage.input_tokensSpan bcebc729: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
bcebc729gen_ai.usage.output_tokensSpan bcebc729: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
ac2cdffegen_ai.usage.input_tokensinput_tokens must exist
ac2cdffegen_ai.usage.output_tokensoutput_tokens must exist
ac2cdffegen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "span_id": "a86223387ee40644",
    "parent_span_id": "ac2cdffe9e525c8b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:39.320042Z",
    "timestamp": "2026-08-24T06:28:39.736631Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139712099928960",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "span_id": "aae31f6544696bb5",
    "parent_span_id": "aea78dd6440b0148",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:41.745138Z",
    "timestamp": "2026-08-24T06:28:42.060228Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139712099928960",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "span_id": "ae9ac14b2616b090",
    "parent_span_id": "bcebc7291bf88276",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:52.922157Z",
    "timestamp": "2026-08-24T06:28:53.188079Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139712099928960",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "99f70507eb6b7ff7",
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:39.291346Z",
    "timestamp": "2026-08-24T06:29:02.194230Z",
    "data": {
      "thread.id": "139712099928960",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ac2cdffe9e525c8b",
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "parent_span_id": "99f70507eb6b7ff7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552919.319296,
    "timestamp": 1787552921.581206,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139712099928960",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "99f70507eb6b7ff7",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "aea78dd6440b0148",
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "parent_span_id": "99f70507eb6b7ff7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552921.741448,
    "timestamp": 1787552932.762716,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139712099928960",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "99f70507eb6b7ff7",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bcebc7291bf88276",
    "trace_id": "240d8b52c6884057908a53a91efbe81f",
    "parent_span_id": "99f70507eb6b7ff7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552932.921442,
    "timestamp": 1787552942.040248,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139712099928960",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "99f70507eb6b7ff7",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, streaming, responses, anthropic)❗︎ 2 115356ms
checkAISpanCount(3)
Should have exactly 3 AI span(s) but found 0
checkChatSpanAttributes
Should have at least one chat/completion span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
{}Captured Spans (4)
[
  {
    "trace_id": "0d6817034928439d8c072f1f8af46d80",
    "span_id": "98a8be4e592efb40",
    "parent_span_id": "b98a3d3f165492d1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:43.141035Z",
    "timestamp": "2026-08-24T06:28:43.854981Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140409668950912",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "0d6817034928439d8c072f1f8af46d80",
    "span_id": "b6f7a5ca76501f2e",
    "parent_span_id": "a4d0e0f59e787eef",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:44.267397Z",
    "timestamp": "2026-08-24T06:28:45.798102Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140409668950912",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "0d6817034928439d8c072f1f8af46d80",
    "span_id": "936a0120e70ef4bc",
    "parent_span_id": "8781094cd96ca0df",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:45.902150Z",
    "timestamp": "2026-08-24T06:28:46.631545Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140409668950912",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "925fab966be5db97",
    "trace_id": "0d6817034928439d8c072f1f8af46d80",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:43.128989Z",
    "timestamp": "2026-08-24T06:28:46.733458Z",
    "data": {
      "thread.id": "140409668950912",
      "thread.name": "MainThread"
    }
  }
]
python/litellm :: Multi-Turn LLM Test (sync, blocking, completion, openai)❗︎ 129247ms
checkAISpanCount(3)
checkChatSpanAttributes
832c1639gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
832c1639gen_ai.output.messagesMissing output messages attribute
8b876c32gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b876c32gen_ai.output.messagesMissing output messages attribute
916fac27gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
916fac27gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "885aef7103e6681b",
    "parent_span_id": "832c1639fad2d7e1",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:42.255970Z",
    "timestamp": "2026-08-24T06:28:42.260893Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19644
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "a63d0dc5e598bd9c",
    "parent_span_id": "832c1639fad2d7e1",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:42.260964Z",
    "timestamp": "2026-08-24T06:28:42.262877Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19644
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "9772dc5ff9a5913b",
    "parent_span_id": "a63d0dc5e598bd9c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:42.262822Z",
    "timestamp": "2026-08-24T06:28:42.262866Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19644
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "bd87e513b295fa79",
    "parent_span_id": "832c1639fad2d7e1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:42.262915Z",
    "timestamp": "2026-08-24T06:28:42.262929Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19644
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "9a96d0847e1ba6dc",
    "parent_span_id": "832c1639fad2d7e1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:42.264483Z",
    "timestamp": "2026-08-24T06:28:44.366242Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "95d705ef66f4f142",
    "parent_span_id": "8b876c32dad7511c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:44.532247Z",
    "timestamp": "2026-08-24T06:28:50.460304Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "span_id": "ab8fa71493fcc1fb",
    "parent_span_id": "916fac27176b5e5e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:50.573585Z",
    "timestamp": "2026-08-24T06:29:01.174972Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 74,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9f2ee9ffaaca7159",
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:42.217386Z",
    "timestamp": "2026-08-24T06:29:01.278692Z",
    "data": {
      "thread.id": "139907254635392",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "832c1639fad2d7e1",
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "parent_span_id": "9f2ee9ffaaca7159",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552922.248791,
    "timestamp": 1787552924.425233,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139907254635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 272,
      "gen_ai.usage.total_tokens": 295,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9f2ee9ffaaca7159",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8b876c32dad7511c",
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "parent_span_id": "9f2ee9ffaaca7159",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552924.528809,
    "timestamp": 1787552930.463049,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139907254635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris city proper has about 2.1 million residents. The wider Paris metropolitan area (\\u00cele-de-France) is around 12 million.\\n\\nWhich figure did you want\\u2014the city itself or the greater metro area? I can give exact recent numbers if you specify.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1150,
      "gen_ai.usage.total_tokens": 1198,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9f2ee9ffaaca7159",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "916fac27176b5e5e",
    "trace_id": "bd28f3a384b84f139bd9f72022d65602",
    "parent_span_id": "9f2ee9ffaaca7159",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552930.56456,
    "timestamp": 1787552941.179034,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139907254635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"It depends on how you define \\u201cmetropolitan area.\\u201d Here are the common definitions and approximate sizes:\\n\\n- Paris urban area (aire urbaine de Paris): about 12 million to 12.5 million people (latest estimates around 2020\\u20132023).\\n- \\u00cele-de-France region (the wider administrative region containing Paris and its suburbs): about 12.0\\u201312.8 million people (roughly 12.3 million in recent years).\\n- M\\u00e9tropole du Grand Paris (the intercommunal body around Paris): about 7.0\\u20137.5 million people.\\n\\nIf you tell me which definition and which year you want, I can give a precise figure.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 2005,
      "gen_ai.usage.total_tokens": 2086,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9f2ee9ffaaca7159",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, blocking, completion, anthropic)❗︎ 1⚠︎ 116887ms
checkAISpanCount(3)
checkChatSpanAttributes
8e74971bdescriptionSpan 8e74971b: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8e74971bgen_ai.request.modelSpan 8e74971b: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
9e01d989descriptionSpan 9e01d989: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
9e01d989gen_ai.request.modelSpan 9e01d989: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
af9c496adescriptionSpan af9c496a: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
af9c496agen_ai.request.modelSpan af9c496a: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
8e74971bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9e01d989gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
af9c496agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "span_id": "b930fdd6ffd09586",
    "parent_span_id": "8e74971b53886270",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:43.837943Z",
    "timestamp": "2026-08-24T06:28:46.106383Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140271470607232",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "span_id": "9103ee7d9f4e90a0",
    "parent_span_id": "9e01d989ef32b838",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.213337Z",
    "timestamp": "2026-08-24T06:28:47.580821Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140271470607232",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "span_id": "991be606851c34d1",
    "parent_span_id": "af9c496ab30bdcca",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:47.683558Z",
    "timestamp": "2026-08-24T06:28:49.113978Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140271470607232",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 74,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "802e8bc255fc7fe1",
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:43.441747Z",
    "timestamp": "2026-08-24T06:28:49.215676Z",
    "data": {
      "thread.id": "140271470607232",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8e74971b53886270",
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "parent_span_id": "802e8bc255fc7fe1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552923.832594,
    "timestamp": 1787552926.111567,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140271470607232",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is **Paris**.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 31,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "802e8bc255fc7fe1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e01d989ef32b838",
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "parent_span_id": "802e8bc255fc7fe1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552926.212582,
    "timestamp": 1787552927.582215,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140271470607232",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"Paris has a population of approximately 2.2 million people within the city proper. However, the larger Paris metropolitan area (\\u00cele-de-France region) has a population of around 12 million people, making it one of the largest metropolitan areas in Europe.\\n\\nThese figures are based on recent estimates, as population numbers can vary slightly depending on the source and year of the data.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 84,
      "gen_ai.usage.total_tokens": 125,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "802e8bc255fc7fe1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "af9c496ab30bdcca",
    "trace_id": "f9ff23827171450bb51880fad07464cf",
    "parent_span_id": "802e8bc255fc7fe1",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552927.683023,
    "timestamp": 1787552929.115827,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140271470607232",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The Paris metropolitan area (also called the \\u00cele-de-France region) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 41,
      "gen_ai.usage.total_tokens": 112,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "802e8bc255fc7fe1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, blocking, responses, openai)❗︎ 134856ms
checkAISpanCount(3)
checkChatSpanAttributes
bb506502gen_ai.output.messagesMissing output messages attribute
bcff464bgen_ai.output.messagesMissing output messages attribute
b52c5601gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "span_id": "8de337b79a7d2975",
    "parent_span_id": "bb5065028d1e2de3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:43.013162Z",
    "timestamp": "2026-08-24T06:28:44.451234Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139832331152256",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "span_id": "bdb490df83c2bbad",
    "parent_span_id": "bcff464b7b1e7b4c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:44.570471Z",
    "timestamp": "2026-08-24T06:28:53.248638Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139832331152256",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "span_id": "9e5b11376e492513",
    "parent_span_id": "b52c5601e23d3509",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:53.354040Z",
    "timestamp": "2026-08-24T06:29:07.964681Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139832331152256",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b4686981971cf365",
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:42.991692Z",
    "timestamp": "2026-08-24T06:29:08.070033Z",
    "data": {
      "thread.id": "139832331152256",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bb5065028d1e2de3",
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "parent_span_id": "b4686981971cf365",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552923.009406,
    "timestamp": 1787552924.464926,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139832331152256",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 118,
      "gen_ai.usage.total_tokens": 141,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b4686981971cf365",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bcff464b7b1e7b4c",
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "parent_span_id": "b4686981971cf365",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552924.569826,
    "timestamp": 1787552933.25453,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139832331152256",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1132,
      "gen_ai.usage.total_tokens": 1180,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b4686981971cf365",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b52c5601e23d3509",
    "trace_id": "c810b0985c4547148065ef48e3d49abe",
    "parent_span_id": "b4686981971cf365",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552933.353349,
    "timestamp": 1787552947.972646,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139832331152256",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1996,
      "gen_ai.usage.total_tokens": 2077,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b4686981971cf365",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (sync, blocking, responses, anthropic)❗︎ 1⚠︎ 112881ms
checkAISpanCount(3)
checkChatSpanAttributes
a7bd5fc4descriptionSpan a7bd5fc4: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a7bd5fc4gen_ai.request.modelSpan a7bd5fc4: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
90666f88descriptionSpan 90666f88: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
90666f88gen_ai.request.modelSpan 90666f88: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
9eae9a58descriptionSpan 9eae9a58: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
9eae9a58gen_ai.request.modelSpan 9eae9a58: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a7bd5fc4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
90666f88gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
9eae9a58gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "span_id": "8dcbad0d90df3c2e",
    "parent_span_id": "a7bd5fc4578f46d1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:43.723091Z",
    "timestamp": "2026-08-24T06:28:44.278956Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140399439154048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "span_id": "90fa3eacb527900c",
    "parent_span_id": "90666f883fc344af",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:44.402404Z",
    "timestamp": "2026-08-24T06:28:45.924218Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140399439154048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "span_id": "8cf650e5f4c9085d",
    "parent_span_id": "9eae9a58f234f62e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:46.028137Z",
    "timestamp": "2026-08-24T06:28:46.792651Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140399439154048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8f0e5bdd5884e565",
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:43.700654Z",
    "timestamp": "2026-08-24T06:28:46.894403Z",
    "data": {
      "thread.id": "140399439154048",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a7bd5fc4578f46d1",
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "parent_span_id": "8f0e5bdd5884e565",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552923.722375,
    "timestamp": 1787552924.299457,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140399439154048",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8f0e5bdd5884e565",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "90666f883fc344af",
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "parent_span_id": "8f0e5bdd5884e565",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552924.401526,
    "timestamp": 1787552925.926861,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140399439154048",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 97,
      "gen_ai.usage.total_tokens": 138,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8f0e5bdd5884e565",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9eae9a58f234f62e",
    "trace_id": "ba8002327da8496dbc000c6056d0b48c",
    "parent_span_id": "8f0e5bdd5884e565",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552926.027438,
    "timestamp": 1787552926.79495,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140399439154048",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 38,
      "gen_ai.usage.total_tokens": 109,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8f0e5bdd5884e565",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (async, streaming, completion, openai)❗︎ 122517ms
checkAISpanCount(3)
checkChatSpanAttributes
966c8103gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
966c8103gen_ai.output.messagesMissing output messages attribute
bd7f6172gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bd7f6172gen_ai.output.messagesMissing output messages attribute
b7f75e20gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7f75e20gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (14)
[
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "8ad344c0598c4ea5",
    "parent_span_id": "966c8103ebd0f49d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:45.293401Z",
    "timestamp": "2026-08-24T06:28:45.295581Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19660
    },
    "data": {
      "thread.id": "139965803525824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "b6b842d594c8231b",
    "parent_span_id": "966c8103ebd0f49d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:45.295671Z",
    "timestamp": "2026-08-24T06:28:45.295794Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19660
    },
    "data": {
      "thread.id": "139965803525824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "9af30b40b6ccc37b",
    "parent_span_id": "b6b842d594c8231b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:45.295755Z",
    "timestamp": "2026-08-24T06:28:45.295788Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19660
    },
    "data": {
      "thread.id": "139965803525824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "9b870192967b2690",
    "parent_span_id": "966c8103ebd0f49d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:45.295827Z",
    "timestamp": "2026-08-24T06:28:45.295840Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19660
    },
    "data": {
      "thread.id": "139965803525824",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "bf65f9565b0e3d4a",
    "parent_span_id": "966c8103ebd0f49d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:45.297438Z",
    "timestamp": "2026-08-24T06:28:46.437461Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "9a800d91d2932778",
    "parent_span_id": "bf65f9565b0e3d4a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:45.298275Z",
    "timestamp": "2026-08-24T06:28:46.436098Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "ad63518b79323f73",
    "parent_span_id": "bd7f61720c72eea1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.777143Z",
    "timestamp": "2026-08-24T06:28:51.985335Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "baf15f5527bdf77d",
    "parent_span_id": "ad63518b79323f73",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.777655Z",
    "timestamp": "2026-08-24T06:28:51.984783Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "8bc9a73862a5a727",
    "parent_span_id": "b7f75e201a5c5fac",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:52.309136Z",
    "timestamp": "2026-08-24T06:28:59.231680Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "span_id": "8851e5caed7ae177",
    "parent_span_id": "8bc9a73862a5a727",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:52.309564Z",
    "timestamp": "2026-08-24T06:28:59.231093Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "94f400a53999744e",
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:45.272707Z",
    "timestamp": "2026-08-24T06:28:59.844333Z",
    "data": {
      "thread.id": "139966041316224",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "966c8103ebd0f49d",
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "parent_span_id": "94f400a53999744e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552925.288989,
    "timestamp": 1787552926.672217,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"Paris. Would you like a few interesting facts about the city?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 86,
      "gen_ai.usage.total_tokens": 109,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "94f400a53999744e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bd7f61720c72eea1",
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "parent_span_id": "94f400a53999744e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552926.773977,
    "timestamp": 1787552932.204002,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"Do you mean Paris the city proper or the wider metro area?\\n\\n- City proper (the commune of Paris): about 2.1 million residents.\\n- Metropolitan area (\\u00cele-de-France): about 12 million residents.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1078,
      "gen_ai.usage.total_tokens": 1126,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "94f400a53999744e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7f75e201a5c5fac",
    "trace_id": "58d33efb47434edca06bff351d1c22ac",
    "parent_span_id": "94f400a53999744e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552932.306171,
    "timestamp": 1787552939.741223,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139966041316224",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"If by metropolitan area you mean common definitions:\\n\\n- Paris urban area (aire urbaine): about 12 million people.\\n- \\u00cele-de-France region (the wider metropolitan region around Paris): about 12\\u201313 million.\\n- M\\u00e9tropole du Grand Paris (the intercommunal region around Paris): about 7\\u20138 million.\\n\\nNumbers vary by definition and year. Which definition would you like exact figures for, and from which year? I can pull the latest estimates.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1321,
      "gen_ai.usage.total_tokens": 1402,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "94f400a53999744e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (async, streaming, completion, anthropic)❗︎ 1⚠︎ 111171ms
checkAISpanCount(3)
checkChatSpanAttributes
ab6851e6descriptionSpan ab6851e6: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
ab6851e6gen_ai.request.modelSpan ab6851e6: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
97f9b099descriptionSpan 97f9b099: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
97f9b099gen_ai.request.modelSpan 97f9b099: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
8e5b3740descriptionSpan 8e5b3740: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8e5b3740gen_ai.request.modelSpan 8e5b3740: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
ab6851e6gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
97f9b099gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
8e5b3740gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "span_id": "8a1b73eaa5c43122",
    "parent_span_id": "ab6851e6cbd42c4d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:45.895370Z",
    "timestamp": "2026-08-24T06:28:46.583473Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "span_id": "bf666ca51b1a64fd",
    "parent_span_id": "8a1b73eaa5c43122",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:45.896236Z",
    "timestamp": "2026-08-24T06:28:46.582343Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "span_id": "bea23068fa6da978",
    "parent_span_id": "97f9b0991e7fd0db",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.863422Z",
    "timestamp": "2026-08-24T06:28:47.532707Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "span_id": "8edfc13863498f23",
    "parent_span_id": "bea23068fa6da978",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.863966Z",
    "timestamp": "2026-08-24T06:28:47.532325Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "span_id": "adf0368669708166",
    "parent_span_id": "8e5b3740289e0cbb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:48.463740Z",
    "timestamp": "2026-08-24T06:28:49.039787Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "span_id": "977fddbd064b5500",
    "parent_span_id": "adf0368669708166",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:48.464160Z",
    "timestamp": "2026-08-24T06:28:49.039351Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 90,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bd1f4fc40c38ae1b",
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:45.696797Z",
    "timestamp": "2026-08-24T06:28:49.421073Z",
    "data": {
      "thread.id": "140515308751744",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab6851e6cbd42c4d",
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "parent_span_id": "bd1f4fc40c38ae1b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552925.893878,
    "timestamp": 1787552926.760712,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140515144722112",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 36,
      "gen_ai.usage.total_tokens": 56,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "bd1f4fc40c38ae1b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "97f9b0991e7fd0db",
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "parent_span_id": "bd1f4fc40c38ae1b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552926.86245,
    "timestamp": 1787552928.360701,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140515022468800",
      "thread.name": "asyncio_1",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The population of Paris depends on how you define the city:\\n\\n- **City proper (Paris municipality)**: approximately 2.1-2.2 million people\\n- **Metropolitan area (\\u00cele-de-France region)**: approximately 12 million people\\n\\nThe city proper refers to Paris within its administrative boundaries, while the metropolitan area includes the surrounding suburbs and towns. Most sources citing Paris's population refer to one of these two figures.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 95,
      "gen_ai.usage.total_tokens": 136,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "bd1f4fc40c38ae1b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8e5b3740289e0cbb",
    "trace_id": "e0cf40aa102e4f1f82dc0966e860139f",
    "parent_span_id": "bd1f4fc40c38ae1b",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552928.462724,
    "timestamp": 1787552929.320372,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140515022468800",
      "thread.name": "asyncio_1",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The metropolitan area of Paris (known as \\u00cele-de-France) has a population of approximately 12 million people, making it one of the largest metropolitan areas in Europe.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 40,
      "gen_ai.usage.total_tokens": 111,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "bd1f4fc40c38ae1b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (async, streaming, responses, openai)❗︎ 1 129073ms
checkAISpanCount(3)
checkChatSpanAttributes
a63c02abgen_ai.usage.input_tokensSpan a63c02ab: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a63c02abgen_ai.usage.output_tokensSpan a63c02ab: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
99e6ebafgen_ai.usage.input_tokensSpan 99e6ebaf: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
99e6ebafgen_ai.usage.output_tokensSpan 99e6ebaf: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
8cfb381dgen_ai.usage.input_tokensSpan 8cfb381d: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8cfb381dgen_ai.usage.output_tokensSpan 8cfb381d: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
a63c02abgen_ai.usage.input_tokensinput_tokens must exist
a63c02abgen_ai.usage.output_tokensoutput_tokens must exist
a63c02abgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "span_id": "88f21dfea414e2c0",
    "parent_span_id": "a63c02abf86c9a47",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:46.602104Z",
    "timestamp": "2026-08-24T06:28:46.956385Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "span_id": "8105273bfa05897f",
    "parent_span_id": "88f21dfea414e2c0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:46.602967Z",
    "timestamp": "2026-08-24T06:28:46.955601Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "span_id": "931d0f681d8014ef",
    "parent_span_id": "99e6ebaf6667f679",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:48.181856Z",
    "timestamp": "2026-08-24T06:28:48.498886Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "span_id": "bb7a98915c96714c",
    "parent_span_id": "931d0f681d8014ef",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:48.182333Z",
    "timestamp": "2026-08-24T06:28:48.498417Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "span_id": "99493f8a9900fbf3",
    "parent_span_id": "8cfb381d8fd8a995",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:57.467787Z",
    "timestamp": "2026-08-24T06:28:57.754464Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "span_id": "bf2d7f39c1a032bc",
    "parent_span_id": "99493f8a9900fbf3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:57.468192Z",
    "timestamp": "2026-08-24T06:28:57.754011Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 84,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "97353efb96de453b",
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:46.404539Z",
    "timestamp": "2026-08-24T06:29:06.767234Z",
    "data": {
      "thread.id": "140437110590336",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a63c02abf86c9a47",
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "parent_span_id": "97353efb96de453b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552926.601279,
    "timestamp": 1787552928.028018,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "97353efb96de453b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99e6ebaf6667f679",
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "parent_span_id": "97353efb96de453b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552928.18111,
    "timestamp": 1787552937.298295,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "97353efb96de453b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8cfb381d8fd8a995",
    "trace_id": "fbf1fcff16b241c4b885b2e2722a705a",
    "parent_span_id": "97353efb96de453b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552937.467113,
    "timestamp": 1787552946.662396,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140437110590336",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "97353efb96de453b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (async, blocking, completion, openai)❗︎ 129276ms
checkAISpanCount(3)
checkChatSpanAttributes
9baa39bdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9baa39bdgen_ai.output.messagesMissing output messages attribute
b5b625a4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b5b625a4gen_ai.output.messagesMissing output messages attribute
9006f7e9gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9006f7e9gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (14)
[
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "a2ff48bc7b748e99",
    "parent_span_id": "9baa39bd59eeaa45",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:46.954905Z",
    "timestamp": "2026-08-24T06:28:46.958785Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19694
    },
    "data": {
      "thread.id": "140158303823552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "9ee158c97ba1920e",
    "parent_span_id": "9baa39bd59eeaa45",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:46.958854Z",
    "timestamp": "2026-08-24T06:28:46.958972Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19694
    },
    "data": {
      "thread.id": "140158303823552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "bccaded2f4e92b7d",
    "parent_span_id": "9ee158c97ba1920e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:46.958935Z",
    "timestamp": "2026-08-24T06:28:46.958967Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19694
    },
    "data": {
      "thread.id": "140158303823552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "a81296b6d035ddeb",
    "parent_span_id": "9baa39bd59eeaa45",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:46.959000Z",
    "timestamp": "2026-08-24T06:28:46.959012Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19694
    },
    "data": {
      "thread.id": "140158303823552",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "a9ecab4ff58d685d",
    "parent_span_id": "9baa39bd59eeaa45",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.960574Z",
    "timestamp": "2026-08-24T06:28:48.022684Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "a66d94c9eafead16",
    "parent_span_id": "a9ecab4ff58d685d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:46.961321Z",
    "timestamp": "2026-08-24T06:28:48.021232Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "9e40225c74251484",
    "parent_span_id": "b5b625a49ec23fd8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:48.154964Z",
    "timestamp": "2026-08-24T06:28:55.767437Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "ac515d388655362a",
    "parent_span_id": "9e40225c74251484",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:48.155474Z",
    "timestamp": "2026-08-24T06:28:55.766648Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "a150ffaadd9b7a94",
    "parent_span_id": "9006f7e91d002baa",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:55.877511Z",
    "timestamp": "2026-08-24T06:29:08.942171Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 74,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "span_id": "80772e7284a9dc46",
    "parent_span_id": "a150ffaadd9b7a94",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:55.877963Z",
    "timestamp": "2026-08-24T06:29:08.941413Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 74,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a03dbc28797e1b35",
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:46.941008Z",
    "timestamp": "2026-08-24T06:29:09.060193Z",
    "data": {
      "thread.id": "140158467898240",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9baa39bd59eeaa45",
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "parent_span_id": "a03dbc28797e1b35",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552926.952311,
    "timestamp": 1787552928.050164,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a03dbc28797e1b35",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b5b625a49ec23fd8",
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "parent_span_id": "a03dbc28797e1b35",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552928.15241,
    "timestamp": 1787552935.773549,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Do you mean Paris the city proper or the wider Paris metropolitan area? Here are approximate figures:\\n\\n- City proper (the commune of Paris): about 2.1 million residents.\\n- Paris metropolitan area (the urban area/aire urbaine): about 12 million residents.\\n- \\u00cele-de-France region (greater Paris region): around 12\\u201313 million residents.\\n\\nIf you want a precise number for a specific year, tell me which definition and year you need.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1512,
      "gen_ai.usage.total_tokens": 1560,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a03dbc28797e1b35",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9006f7e91d002baa",
    "trace_id": "ad012c9ea4b74262b407d6233899aed7",
    "parent_span_id": "a03dbc28797e1b35",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552935.874634,
    "timestamp": 1787552948.956148,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140158467898240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"If you mean the Paris metropolitan area (the Paris urban area, or aire urbaine), it has about 12.5 million people. The broader \\u00cele-de-France region around Paris contains roughly 12\\u201313 million people. For contrast, the city proper is about 2.2 million.\\n\\nNote: \\u201cmetropolitan area\\u201d definitions vary, so numbers differ by source and year. If you specify the exact definition and year, I can give a precise figure.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1897,
      "gen_ai.usage.total_tokens": 1978,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "a03dbc28797e1b35",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (async, blocking, completion, anthropic)❗︎ 1⚠︎ 17823ms
checkAISpanCount(3)
checkChatSpanAttributes
890f3675descriptionSpan 890f3675: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
890f3675gen_ai.request.modelSpan 890f3675: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
8fecfa16descriptionSpan 8fecfa16: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8fecfa16gen_ai.request.modelSpan 8fecfa16: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
94a0e545descriptionSpan 94a0e545: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
94a0e545gen_ai.request.modelSpan 94a0e545: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
890f3675gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8fecfa16gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
94a0e545gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "span_id": "861c0ba80e671fc3",
    "parent_span_id": "890f367528651959",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:50.588002Z",
    "timestamp": "2026-08-24T06:28:51.253225Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "span_id": "a3ca4a07854afc5e",
    "parent_span_id": "861c0ba80e671fc3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:50.588921Z",
    "timestamp": "2026-08-24T06:28:51.251873Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "span_id": "b8aff20f0eb1f6bd",
    "parent_span_id": "8fecfa1611d36993",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:51.373484Z",
    "timestamp": "2026-08-24T06:28:53.300900Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "span_id": "a429ea980b09b89c",
    "parent_span_id": "b8aff20f0eb1f6bd",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:51.373972Z",
    "timestamp": "2026-08-24T06:28:52.521808Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "span_id": "bfb89f2981009917",
    "parent_span_id": "94a0e54515a14d72",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:53.405216Z",
    "timestamp": "2026-08-24T06:28:54.427510Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 74,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "span_id": "a41d9ac1e1517d62",
    "parent_span_id": "bfb89f2981009917",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:53.405661Z",
    "timestamp": "2026-08-24T06:28:54.141726Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 74,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b72d47f12f02e353",
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:50.389219Z",
    "timestamp": "2026-08-24T06:28:54.530316Z",
    "data": {
      "thread.id": "139787079515008",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "890f367528651959",
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "parent_span_id": "b72d47f12f02e353",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552930.586277,
    "timestamp": 1787552931.27251,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139786917078720",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b72d47f12f02e353",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8fecfa1611d36993",
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "parent_span_id": "b72d47f12f02e353",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552931.372573,
    "timestamp": 1787552933.303165,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139786917078720",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"Paris has a population of approximately 2.1 to 2.2 million people within the city proper, making it the most populous city in France.\\n\\nHowever, the greater Paris metropolitan area (\\u00cele-de-France region) has a much larger population of around 12 million people, making it one of the largest metropolitan areas in Europe.\\n\\nThe exact figures can vary depending on the source and how city boundaries are defined.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 41,
      "gen_ai.usage.output_tokens": 94,
      "gen_ai.usage.total_tokens": 135,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b72d47f12f02e353",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "94a0e54515a14d72",
    "trace_id": "69f59a87a75343ebbbdd9e2330ae51d7",
    "parent_span_id": "b72d47f12f02e353",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552933.404199,
    "timestamp": 1787552934.429016,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139786917078720",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The Paris metropolitan area (\\u00cele-de-France region) has a population of approximately 12.3 million people, making it one of the largest metropolitan areas in Europe.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 71,
      "gen_ai.usage.output_tokens": 40,
      "gen_ai.usage.total_tokens": 111,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b72d47f12f02e353",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Multi-Turn LLM Test (async, blocking, responses, openai)❗︎ 121922ms
checkAISpanCount(3)
checkChatSpanAttributes
92c27562gen_ai.output.messagesMissing output messages attribute
934f0841gen_ai.output.messagesMissing output messages attribute
9b32d00cgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning(No AI spans with output_tokens.reasoning attribute)
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (10)
[
  {
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "span_id": "8d1701d0da60f1d3",
    "parent_span_id": "92c275627aa2fa6b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:50.697225Z",
    "timestamp": "2026-08-24T06:28:52.055985Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "span_id": "bc56a8edff36329f",
    "parent_span_id": "8d1701d0da60f1d3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:50.697897Z",
    "timestamp": "2026-08-24T06:28:52.032598Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "span_id": "be245c27012d3ef6",
    "parent_span_id": "934f084166eabafa",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:52.180779Z",
    "timestamp": "2026-08-24T06:28:59.262034Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "span_id": "b56fad5e16e1062d",
    "parent_span_id": "be245c27012d3ef6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:52.181250Z",
    "timestamp": "2026-08-24T06:28:59.226291Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "span_id": "ace1ed9688c1b402",
    "parent_span_id": "9b32d00c6f8de42a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:59.377174Z",
    "timestamp": "2026-08-24T06:29:08.074228Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "span_id": "84a9ab9e3ebffaa8",
    "parent_span_id": "ace1ed9688c1b402",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:59.377590Z",
    "timestamp": "2026-08-24T06:29:08.032043Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 68,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8cfc17b5f7c98244",
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:28:50.689237Z",
    "timestamp": "2026-08-24T06:29:08.182938Z",
    "data": {
      "thread.id": "140059864345472",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "92c275627aa2fa6b",
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "parent_span_id": "8cfc17b5f7c98244",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552930.696717,
    "timestamp": 1787552932.076926,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 122,
      "gen_ai.usage.total_tokens": 145,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8cfc17b5f7c98244",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "934f084166eabafa",
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "parent_span_id": "8cfc17b5f7c98244",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552932.180058,
    "timestamp": 1787552939.271695,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 969,
      "gen_ai.usage.total_tokens": 1017,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8cfc17b5f7c98244",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9b32d00c6f8de42a",
    "trace_id": "fd4caff3715e4b059c5468ca5d48463c",
    "parent_span_id": "8cfc17b5f7c98244",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552939.376489,
    "timestamp": 1787552948.092416,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140059864345472",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1481,
      "gen_ai.usage.total_tokens": 1562,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8cfc17b5f7c98244",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, streaming, completion, openai)❗︎ 15695ms
checkAISpanCount(>=1)
checkErrorCaptured
a5dcf5bfSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "bb5220b28e35bb10",
    "parent_span_id": "a5dcf5bf8ec084c7",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:53.640817Z",
    "timestamp": "2026-08-24T06:28:53.641686Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19733
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "b92ae195eaf76c18",
    "parent_span_id": "a5dcf5bf8ec084c7",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:53.641748Z",
    "timestamp": "2026-08-24T06:28:53.642319Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19733
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "a0563155f3075b46",
    "parent_span_id": "b92ae195eaf76c18",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:53.642260Z",
    "timestamp": "2026-08-24T06:28:53.642311Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19733
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "b230b03e7410fb3e",
    "parent_span_id": "a5dcf5bf8ec084c7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:53.642344Z",
    "timestamp": "2026-08-24T06:28:53.642354Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19733
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "a5ef23fbeb0be046",
    "parent_span_id": "a5dcf5bf8ec084c7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:53.643581Z",
    "timestamp": "2026-08-24T06:28:53.644300Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "94123d0974acd049",
    "parent_span_id": "a5dcf5bf8ec084c7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:54.079684Z",
    "timestamp": "2026-08-24T06:28:54.080458Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "span_id": "a6540a92a9a71502",
    "parent_span_id": "a5dcf5bf8ec084c7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:55.075476Z",
    "timestamp": "2026-08-24T06:28:55.076088Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "bf62af191b2a264d",
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:28:53.626926Z",
    "timestamp": "2026-08-24T06:28:55.121047Z",
    "data": {
      "thread.id": "140562257746816",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "a5dcf5bf8ec084c7",
    "trace_id": "530c705cad6b484488ababc2d7210b0b",
    "parent_span_id": "bf62af191b2a264d",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552933.638205,
    "timestamp": 1787552935.109127,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140562257746816",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "bf62af191b2a264d",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, streaming, completion, anthropic)❗︎ 14038ms
checkAISpanCount(>=1)
checkErrorCaptured
add2f4dbSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "3b947ae2eaf5466db3db629150373cff",
    "span_id": "bd3ba9f021ba6110",
    "parent_span_id": "add2f4db255d3f28",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:53.752592Z",
    "timestamp": "2026-08-24T06:28:53.753137Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140598393858944",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "aed4ca04d1300703",
    "trace_id": "3b947ae2eaf5466db3db629150373cff",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:28:53.601503Z",
    "timestamp": "2026-08-24T06:28:53.773183Z",
    "data": {
      "thread.id": "140598393858944",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "add2f4db255d3f28",
    "trace_id": "3b947ae2eaf5466db3db629150373cff",
    "parent_span_id": "aed4ca04d1300703",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552933.75172,
    "timestamp": 1787552933.766655,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140598393858944",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "aed4ca04d1300703",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, streaming, responses, openai)❗︎ 14456ms
checkAISpanCount(>=1)
checkErrorCaptured
8774c36eSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "7a2818f51429485c877df6d815590f1e",
    "span_id": "942d3c8a0756576f",
    "parent_span_id": "8774c36e356b8e26",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:28:57.101958Z",
    "timestamp": "2026-08-24T06:28:57.102727Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140087155911552",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "83c26bf47dea8299",
    "trace_id": "7a2818f51429485c877df6d815590f1e",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:28:57.090169Z",
    "timestamp": "2026-08-24T06:28:57.118874Z",
    "data": {
      "thread.id": "140087155911552",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "8774c36e356b8e26",
    "trace_id": "7a2818f51429485c877df6d815590f1e",
    "parent_span_id": "83c26bf47dea8299",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552937.101216,
    "timestamp": 1787552937.114295,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140087155911552",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "83c26bf47dea8299",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, streaming, responses, anthropic)❗︎ 14982ms
checkAISpanCount(>=1)
checkErrorCaptured
aa7420b4Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "0cc9d20df3a44254907ae103ad702248",
    "span_id": "920d41603b3bb10b",
    "parent_span_id": "aa7420b463a27b02",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:28:58.347512Z",
    "timestamp": "2026-08-24T06:28:58.348280Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140502264064896",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "b957254d738e2252",
    "trace_id": "0cc9d20df3a44254907ae103ad702248",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:28:58.334845Z",
    "timestamp": "2026-08-24T06:28:58.367713Z",
    "data": {
      "thread.id": "140502264064896",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "aa7420b463a27b02",
    "trace_id": "0cc9d20df3a44254907ae103ad702248",
    "parent_span_id": "b957254d738e2252",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552938.346842,
    "timestamp": 1787552938.362039,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140502264064896",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "b957254d738e2252",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, blocking, completion, openai)❗︎ 17208ms
checkAISpanCount(>=1)
checkErrorCaptured
9ce9564aSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "976149b741f75dbc",
    "parent_span_id": "9ce9564a68e775d0",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:28:59.532480Z",
    "timestamp": "2026-08-24T06:28:59.533683Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19783
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "90404da7a72ce7b1",
    "parent_span_id": "9ce9564a68e775d0",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:59.533748Z",
    "timestamp": "2026-08-24T06:28:59.534426Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19783
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "b9a57b60ec060963",
    "parent_span_id": "90404da7a72ce7b1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:59.534372Z",
    "timestamp": "2026-08-24T06:28:59.534416Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19783
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "9b0e8fa41d273d0a",
    "parent_span_id": "9ce9564a68e775d0",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:28:59.534467Z",
    "timestamp": "2026-08-24T06:28:59.534482Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19783
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "896f6f6160446bb8",
    "parent_span_id": "9ce9564a68e775d0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:59.535902Z",
    "timestamp": "2026-08-24T06:28:59.536616Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "89f32d271e240c72",
    "parent_span_id": "9ce9564a68e775d0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:28:59.937162Z",
    "timestamp": "2026-08-24T06:28:59.937846Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "span_id": "b1abe7fbd1767cef",
    "parent_span_id": "9ce9564a68e775d0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:00.710319Z",
    "timestamp": "2026-08-24T06:29:00.710995Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "b2c1259d767996a4",
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:28:59.510617Z",
    "timestamp": "2026-08-24T06:29:00.795792Z",
    "data": {
      "thread.id": "140284146056064",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "9ce9564a68e775d0",
    "trace_id": "72dbcbb060034e699085071bc751c400",
    "parent_span_id": "b2c1259d767996a4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552939.528261,
    "timestamp": 1787552940.775663,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140284146056064",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "b2c1259d767996a4",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, blocking, completion, anthropic)❗︎ 15508ms
checkAISpanCount(>=1)
checkErrorCaptured
9bc7cbf8Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "550ec853decf4056ab986ef7995bc07b",
    "span_id": "b432ba5fb60bb54d",
    "parent_span_id": "9bc7cbf8ed32a3e7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:00.525069Z",
    "timestamp": "2026-08-24T06:29:00.525938Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140717486316416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "92ac761a3e6c9dd3",
    "trace_id": "550ec853decf4056ab986ef7995bc07b",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:00.345955Z",
    "timestamp": "2026-08-24T06:29:00.558537Z",
    "data": {
      "thread.id": "140717486316416",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "9bc7cbf8ed32a3e7",
    "trace_id": "550ec853decf4056ab986ef7995bc07b",
    "parent_span_id": "92ac761a3e6c9dd3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552940.523768,
    "timestamp": 1787552940.547446,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140717486316416",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "92ac761a3e6c9dd3",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, blocking, responses, openai)❗︎ 17119ms
checkAISpanCount(>=1)
checkErrorCaptured
860df629Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "4824fe1089d34125a66b2d895f63b3d3",
    "span_id": "be9a47d3d4e8dd6a",
    "parent_span_id": "860df629db9ac2cc",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:02.314477Z",
    "timestamp": "2026-08-24T06:29:02.315321Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140499135617920",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "888ed59e996640d7",
    "trace_id": "4824fe1089d34125a66b2d895f63b3d3",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:02.303853Z",
    "timestamp": "2026-08-24T06:29:02.330490Z",
    "data": {
      "thread.id": "140499135617920",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "860df629db9ac2cc",
    "trace_id": "4824fe1089d34125a66b2d895f63b3d3",
    "parent_span_id": "888ed59e996640d7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552942.313766,
    "timestamp": 1787552942.326031,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140499135617920",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "888ed59e996640d7",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (sync, blocking, responses, anthropic)❗︎ 17815ms
checkAISpanCount(>=1)
checkErrorCaptured
aa5b9e2aSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "ad5e12378daf41528924a688ec6ce2dc",
    "span_id": "8b246abd15ea69d2",
    "parent_span_id": "aa5b9e2a774b94af",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:03.864703Z",
    "timestamp": "2026-08-24T06:29:03.865480Z",
    "origin": "auto.http.httpx",
    "status": "internal_error",
    "tags": {
      "http.status_code": "500",
      "status": "internal_error"
    },
    "data": {
      "thread.id": "139742078782336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 500,
      "reason": "Internal Server Error"
    }
  },
  {
    "span_id": "aa25b84cccf6004a",
    "trace_id": "ad5e12378daf41528924a688ec6ce2dc",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:03.837903Z",
    "timestamp": "2026-08-24T06:29:03.907989Z",
    "data": {
      "thread.id": "139742078782336",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "aa5b9e2a774b94af",
    "trace_id": "ad5e12378daf41528924a688ec6ce2dc",
    "parent_span_id": "aa25b84cccf6004a",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552943.860958,
    "timestamp": 1787552943.895822,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139742078782336",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "aa25b84cccf6004a",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, streaming, completion, openai)❗︎ 111314ms
checkAISpanCount(>=1)
checkErrorCaptured
85c787ecSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "span_id": "9746ac1438829bcc",
    "parent_span_id": "85c787ec266403a5",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:05.937048Z",
    "timestamp": "2026-08-24T06:29:05.938239Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19815
    },
    "data": {
      "thread.id": "140559956666048",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "span_id": "8e8f405b8921114e",
    "parent_span_id": "85c787ec266403a5",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:05.938307Z",
    "timestamp": "2026-08-24T06:29:05.938947Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19815
    },
    "data": {
      "thread.id": "140559956666048",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "span_id": "89830935420b957f",
    "parent_span_id": "8e8f405b8921114e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:05.938895Z",
    "timestamp": "2026-08-24T06:29:05.938936Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19815
    },
    "data": {
      "thread.id": "140559956666048",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "span_id": "960e2c3454d36f45",
    "parent_span_id": "85c787ec266403a5",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:05.938982Z",
    "timestamp": "2026-08-24T06:29:05.938996Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19815
    },
    "data": {
      "thread.id": "140559956666048",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "span_id": "891d860c4a0e20d6",
    "parent_span_id": "85c787ec266403a5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:05.943665Z",
    "timestamp": "2026-08-24T06:29:07.238160Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140560121002880",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "span_id": "a242db26a5418b3f",
    "parent_span_id": "891d860c4a0e20d6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:05.944421Z",
    "timestamp": "2026-08-24T06:29:07.236527Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140560121002880",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b8a8d43ba730f759",
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:05.877312Z",
    "timestamp": "2026-08-24T06:29:07.938031Z",
    "data": {
      "thread.id": "140560121002880",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "85c787ec266403a5",
    "trace_id": "8259300a2627468da5d4e2d1673ea333",
    "parent_span_id": "b8a8d43ba730f759",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552945.926173,
    "timestamp": 1787552947.831391,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140560121002880",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.total_tokens": 162,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "b8a8d43ba730f759",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, streaming, completion, anthropic)❗︎ 111005ms
checkAISpanCount(>=1)
checkErrorCaptured
90d929beSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "b3af8a44a61843fdb02046c2680cdc83",
    "span_id": "a978c99cab8d8f23",
    "parent_span_id": "90d929be2aa83045",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:08.190033Z",
    "timestamp": "2026-08-24T06:29:08.915575Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140077842488192",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b3af8a44a61843fdb02046c2680cdc83",
    "span_id": "a9783bc6eb10bd40",
    "parent_span_id": "a978c99cab8d8f23",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:08.190956Z",
    "timestamp": "2026-08-24T06:29:08.914418Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140077842488192",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "848980949738348d",
    "trace_id": "b3af8a44a61843fdb02046c2680cdc83",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:07.887601Z",
    "timestamp": "2026-08-24T06:29:09.408997Z",
    "data": {
      "thread.id": "140077842488192",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "90d929be2aa83045",
    "trace_id": "b3af8a44a61843fdb02046c2680cdc83",
    "parent_span_id": "848980949738348d",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552948.185796,
    "timestamp": 1787552949.298113,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140077606893248",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is **Paris**. It is located in the north-central part of the country and is the largest city in France. Paris is known for its landmarks like the Eiffel Tower, Notre-Dame Cathedral, and the Louvre Museum.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 58,
      "gen_ai.usage.total_tokens": 78,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "848980949738348d",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, streaming, responses, openai)❗︎ 110298ms
checkAISpanCount(>=1)
checkErrorCaptured
8058ced7Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "3f540e9a14d04a808da2e39de9abcc88",
    "span_id": "af72bf08291f9e98",
    "parent_span_id": "8058ced74a1e315d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:07.622241Z",
    "timestamp": "2026-08-24T06:29:07.934793Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140048610888576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "3f540e9a14d04a808da2e39de9abcc88",
    "span_id": "9d674313670fb776",
    "parent_span_id": "af72bf08291f9e98",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:07.623133Z",
    "timestamp": "2026-08-24T06:29:07.933523Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140048610888576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9ebc4ed23c1e8a91",
    "trace_id": "3f540e9a14d04a808da2e39de9abcc88",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:07.101748Z",
    "timestamp": "2026-08-24T06:29:08.831019Z",
    "data": {
      "thread.id": "140048610888576",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8058ced74a1e315d",
    "trace_id": "3f540e9a14d04a808da2e39de9abcc88",
    "parent_span_id": "9ebc4ed23c1e8a91",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552947.621283,
    "timestamp": 1787552948.678444,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140048610888576",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "9ebc4ed23c1e8a91",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, streaming, responses, anthropic)❗︎ 110735ms
checkAISpanCount(>=1)
checkErrorCaptured
aaec8d6cSpan has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "08f5f922b3ad4a82ad78066e3b14fed1",
    "span_id": "8ba9da2044209885",
    "parent_span_id": "aaec8d6cfffed66c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:09.955311Z",
    "timestamp": "2026-08-24T06:29:10.039470Z",
    "origin": "auto.http.httpx",
    "status": "invalid_argument",
    "tags": {
      "http.status_code": "400",
      "status": "invalid_argument"
    },
    "data": {
      "thread.id": "140076322401152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 400,
      "reason": "Bad Request"
    }
  },
  {
    "trace_id": "08f5f922b3ad4a82ad78066e3b14fed1",
    "span_id": "99247e907ce69d40",
    "parent_span_id": "8ba9da2044209885",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:09.956251Z",
    "timestamp": "2026-08-24T06:29:10.038267Z",
    "origin": "auto.http.aiohttp",
    "status": "invalid_argument",
    "tags": {
      "http.status_code": "400",
      "status": "invalid_argument"
    },
    "data": {
      "thread.id": "140076322401152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 400,
      "reason": "Bad Request"
    }
  },
  {
    "span_id": "84ebe331d45b2a0e",
    "trace_id": "08f5f922b3ad4a82ad78066e3b14fed1",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:09.298419Z",
    "timestamp": "2026-08-24T06:29:10.145077Z",
    "data": {
      "thread.id": "140076322401152",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "aaec8d6cfffed66c",
    "trace_id": "08f5f922b3ad4a82ad78066e3b14fed1",
    "parent_span_id": "84ebe331d45b2a0e",
    "op": "gen_ai.chat",
    "description": "chat anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552949.954416,
    "timestamp": 1787552950.102902,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140076322401152",
      "thread.name": "MainThread",
      "gen_ai.system": "openrouter",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "openrouter/anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "84ebe331d45b2a0e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, blocking, completion, openai)❗︎ 113259ms
checkAISpanCount(>=1)
checkErrorCaptured
a997e768Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "span_id": "9a45cf2b157b0861",
    "parent_span_id": "a997e7686f4673f8",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:11.789721Z",
    "timestamp": "2026-08-24T06:29:11.791702Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19867
    },
    "data": {
      "thread.id": "139747364173504",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "span_id": "8a11afc8dc94c08e",
    "parent_span_id": "a997e7686f4673f8",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:11.791772Z",
    "timestamp": "2026-08-24T06:29:11.791890Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19867
    },
    "data": {
      "thread.id": "139747364173504",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "span_id": "b4916fab6f6c20e6",
    "parent_span_id": "8a11afc8dc94c08e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:11.791854Z",
    "timestamp": "2026-08-24T06:29:11.791884Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19867
    },
    "data": {
      "thread.id": "139747364173504",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "span_id": "a719fffb8f93be69",
    "parent_span_id": "a997e7686f4673f8",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:11.791924Z",
    "timestamp": "2026-08-24T06:29:11.791937Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19867
    },
    "data": {
      "thread.id": "139747364173504",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "span_id": "a20abb5818b9e147",
    "parent_span_id": "a997e7686f4673f8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:11.793541Z",
    "timestamp": "2026-08-24T06:29:12.653806Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139747608263552",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "span_id": "99467bf285cc058c",
    "parent_span_id": "a20abb5818b9e147",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:11.794341Z",
    "timestamp": "2026-08-24T06:29:12.645455Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139747608263552",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9f9c0b6a90be77d5",
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:11.767509Z",
    "timestamp": "2026-08-24T06:29:12.852007Z",
    "data": {
      "thread.id": "139747608263552",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a997e7686f4673f8",
    "trace_id": "cfe30b829b3b4e0faf975d9a3e9587e9",
    "parent_span_id": "9f9c0b6a90be77d5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552951.785491,
    "timestamp": 1787552952.74429,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139747608263552",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 11,
      "gen_ai.usage.total_tokens": 34,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "9f9c0b6a90be77d5",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, blocking, completion, anthropic)❗︎ 113610ms
checkAISpanCount(>=1)
checkErrorCaptured
83693cd1Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "42e0482fb07a4367ab45acb5b4781bb2",
    "span_id": "bf03ef6121d6312a",
    "parent_span_id": "83693cd1dea9f7e6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:14.017900Z",
    "timestamp": "2026-08-24T06:29:14.819192Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140340475874176",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "42e0482fb07a4367ab45acb5b4781bb2",
    "span_id": "8d8a821c26a8f20a",
    "parent_span_id": "bf03ef6121d6312a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:14.018750Z",
    "timestamp": "2026-08-24T06:29:14.635217Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140340475874176",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "80af70c0ff414f6f",
    "trace_id": "42e0482fb07a4367ab45acb5b4781bb2",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:13.527818Z",
    "timestamp": "2026-08-24T06:29:14.978912Z",
    "data": {
      "thread.id": "140340475874176",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "83693cd1dea9f7e6",
    "trace_id": "42e0482fb07a4367ab45acb5b4781bb2",
    "parent_span_id": "80af70c0ff414f6f",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552954.013844,
    "timestamp": 1787552954.864966,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140340311451328",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 36,
      "gen_ai.usage.total_tokens": 56,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "80af70c0ff414f6f",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, blocking, responses, openai)❗︎ 111922ms
checkAISpanCount(>=1)
checkErrorCaptured
bc0d5d57Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "58afb5facbb4432c9410720bd419c734",
    "span_id": "87757777e5dcf87c",
    "parent_span_id": "bc0d5d570cbcaa77",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:11.536002Z",
    "timestamp": "2026-08-24T06:29:13.254125Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139821750856576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "58afb5facbb4432c9410720bd419c734",
    "span_id": "907afe5da883c78f",
    "parent_span_id": "87757777e5dcf87c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:11.536846Z",
    "timestamp": "2026-08-24T06:29:13.226330Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139821750856576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ab44a2b052502831",
    "trace_id": "58afb5facbb4432c9410720bd419c734",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:11.503029Z",
    "timestamp": "2026-08-24T06:29:13.414035Z",
    "data": {
      "thread.id": "139821750856576",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bc0d5d570cbcaa77",
    "trace_id": "58afb5facbb4432c9410720bd419c734",
    "parent_span_id": "ab44a2b052502831",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552951.535233,
    "timestamp": 1787552953.31558,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139821750856576",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 97,
      "gen_ai.usage.total_tokens": 120,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "ab44a2b052502831",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Basic Error LLM Test (async, blocking, responses, anthropic)❗︎ 114676ms
checkAISpanCount(>=1)
checkErrorCaptured
9eead320Span has status="ok" with no error indicators
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "ae4b59b52f9e4c818c88c841512da873",
    "span_id": "bbbb25826551c1da",
    "parent_span_id": "9eead3208717abfe",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:17.264245Z",
    "timestamp": "2026-08-24T06:29:17.427653Z",
    "origin": "auto.http.httpx",
    "status": "invalid_argument",
    "tags": {
      "http.status_code": "400",
      "status": "invalid_argument"
    },
    "data": {
      "thread.id": "140096563944320",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 400,
      "reason": "Bad Request",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ae4b59b52f9e4c818c88c841512da873",
    "span_id": "a8dce718e84757d9",
    "parent_span_id": "bbbb25826551c1da",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:17.265044Z",
    "timestamp": "2026-08-24T06:29:17.426448Z",
    "origin": "auto.http.aiohttp",
    "status": "invalid_argument",
    "tags": {
      "http.status_code": "400",
      "status": "invalid_argument"
    },
    "data": {
      "thread.id": "140096563944320",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 400,
      "reason": "Bad Request",
      "code.lineno": 34,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-error-llm-test-async-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bc8575002c98ed26",
    "trace_id": "ae4b59b52f9e4c818c88c841512da873",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic Error LLM Test",
    "start_timestamp": "2026-08-24T06:29:17.241719Z",
    "timestamp": "2026-08-24T06:29:17.550181Z",
    "data": {
      "thread.id": "140096563944320",
      "thread.name": "MainThread"
    },
    "status": "internal_error"
  },
  {
    "span_id": "9eead3208717abfe",
    "trace_id": "ae4b59b52f9e4c818c88c841512da873",
    "parent_span_id": "bc8575002c98ed26",
    "op": "gen_ai.chat",
    "description": "chat anthropic/claude-haiku-4-5",
    "start_timestamp": 1787552957.263552,
    "timestamp": 1787552957.507161,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140096563944320",
      "thread.name": "MainThread",
      "gen_ai.system": "openrouter",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "openrouter/anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic Error LLM Test",
      "sentry.segment.id": "bc8575002c98ed26",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, streaming, completion, openai)❗︎ 1 114137ms
checkChatSpanAttributes
875b3160gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
875b3160gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
875b3160gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
875b3160gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "span_id": "9ebaeffb8f9b8dc9",
    "parent_span_id": "875b3160673be7be",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:19.566275Z",
    "timestamp": "2026-08-24T06:29:19.572718Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19902
    },
    "data": {
      "thread.id": "140217660156800",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "span_id": "bd7b6cfef73000bb",
    "parent_span_id": "875b3160673be7be",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:19.572794Z",
    "timestamp": "2026-08-24T06:29:19.572914Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19902
    },
    "data": {
      "thread.id": "140217660156800",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "span_id": "852b1c3bf549b88e",
    "parent_span_id": "bd7b6cfef73000bb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:19.572876Z",
    "timestamp": "2026-08-24T06:29:19.572909Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19902
    },
    "data": {
      "thread.id": "140217660156800",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "span_id": "8c2ac2de3092ba25",
    "parent_span_id": "875b3160673be7be",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:19.572943Z",
    "timestamp": "2026-08-24T06:29:19.572955Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19902
    },
    "data": {
      "thread.id": "140217660156800",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "span_id": "97a845450b25c717",
    "parent_span_id": "875b3160673be7be",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:19.574393Z",
    "timestamp": "2026-08-24T06:29:20.150763Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140217660156800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b68461f8ccb74a97",
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:19.499809Z",
    "timestamp": "2026-08-24T06:29:20.810704Z",
    "data": {
      "thread.id": "140217660156800",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "875b3160673be7be",
    "trace_id": "e172f6a852714debafa8bed50eaf6885",
    "parent_span_id": "b68461f8ccb74a97",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552959.548995,
    "timestamp": 1787552960.709988,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140217660156800",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "gen_ai.response.text": "{\"content\": \"Red\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b68461f8ccb74a97",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, streaming, completion, anthropic)❗︎ 1 1⚠︎ 114334ms
checkChatSpanAttributes
a0c8b799descriptionSpan a0c8b799: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a0c8b799gen_ai.request.modelSpan a0c8b799: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a0c8b799gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
a0c8b799gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
a0c8b799gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "4d5a6aed0ab14c0cab924960e8d8176a",
    "span_id": "97901abc117ab220",
    "parent_span_id": "a0c8b799c27d141c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:20.635576Z",
    "timestamp": "2026-08-24T06:29:21.344591Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140542517037952",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8a9da80254133329",
    "trace_id": "4d5a6aed0ab14c0cab924960e8d8176a",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:20.091200Z",
    "timestamp": "2026-08-24T06:29:21.505820Z",
    "data": {
      "thread.id": "140542517037952",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a0c8b799c27d141c",
    "trace_id": "4d5a6aed0ab14c0cab924960e8d8176a",
    "parent_span_id": "8a9da80254133329",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552960.634201,
    "timestamp": 1787552961.412024,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140542517037952",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"Pink\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8a9da80254133329",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, streaming, responses, openai)❗︎ 1 214022ms
checkChatSpanAttributes
b3e3ffacgen_ai.usage.input_tokensSpan b3e3ffac: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b3e3ffacgen_ai.usage.output_tokensSpan b3e3ffac: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
b3e3ffacgen_ai.usage.input_tokensinput_tokens must exist
b3e3ffacgen_ai.usage.output_tokensoutput_tokens must exist
b3e3ffacgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
b3e3ffacgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b3e3ffacgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "c49806f9bb6a4727b7a1e050b410a61f",
    "span_id": "b7c5ffa4205efa50",
    "parent_span_id": "b3e3ffac9d5d4439",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:20.490913Z",
    "timestamp": "2026-08-24T06:29:20.762635Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140434212150144",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "95d6dc90dd4ae43c",
    "trace_id": "c49806f9bb6a4727b7a1e050b410a61f",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:20.456586Z",
    "timestamp": "2026-08-24T06:29:21.412174Z",
    "data": {
      "thread.id": "140434212150144",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b3e3ffac9d5d4439",
    "trace_id": "c49806f9bb6a4727b7a1e050b410a61f",
    "parent_span_id": "95d6dc90dd4ae43c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552960.490146,
    "timestamp": 1787552961.30707,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140434212150144",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "95d6dc90dd4ae43c",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, streaming, responses, anthropic)❗︎ 1 217117ms
checkChatSpanAttributes
Should have at least one chat/completion span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkBinaryRedaction
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (2)
[
  {
    "trace_id": "ab04e1104b4340a1a7f2a49338fd618e",
    "span_id": "a63ad7063df13cfd",
    "parent_span_id": "b93276759bd9e99b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:21.086985Z",
    "timestamp": "2026-08-24T06:29:24.824966Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140609544809344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "afbb2b1c324754f1",
    "trace_id": "ab04e1104b4340a1a7f2a49338fd618e",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:21.053359Z",
    "timestamp": "2026-08-24T06:29:25.519737Z",
    "data": {
      "thread.id": "140609544809344",
      "thread.name": "MainThread"
    }
  }
]
python/litellm :: Vision LLM Test (sync, blocking, completion, openai)❗︎ 1 114658ms
checkChatSpanAttributes
8b1b7d69gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b1b7d69gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8b1b7d69gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
8b1b7d69gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "span_id": "a2e1fccad25b743d",
    "parent_span_id": "8b1b7d692fe8d2c9",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:23.036645Z",
    "timestamp": "2026-08-24T06:29:23.038982Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19927
    },
    "data": {
      "thread.id": "140066715630464",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "span_id": "b682cb174a3f4933",
    "parent_span_id": "8b1b7d692fe8d2c9",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:23.039062Z",
    "timestamp": "2026-08-24T06:29:23.042774Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19927
    },
    "data": {
      "thread.id": "140066715630464",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "span_id": "9d194bab794036e0",
    "parent_span_id": "b682cb174a3f4933",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:23.042716Z",
    "timestamp": "2026-08-24T06:29:23.042763Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19927
    },
    "data": {
      "thread.id": "140066715630464",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "span_id": "b5b7fca1db118c1b",
    "parent_span_id": "8b1b7d692fe8d2c9",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:23.042812Z",
    "timestamp": "2026-08-24T06:29:23.042826Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19927
    },
    "data": {
      "thread.id": "140066715630464",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "span_id": "b74e69b33d6b11c2",
    "parent_span_id": "8b1b7d692fe8d2c9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:23.044270Z",
    "timestamp": "2026-08-24T06:29:23.655745Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140066715630464",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9ee82bb08f6c89c7",
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:22.967318Z",
    "timestamp": "2026-08-24T06:29:23.807702Z",
    "data": {
      "thread.id": "140066715630464",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8b1b7d692fe8d2c9",
    "trace_id": "64ee7674006c429c8e9eed22ffc29601",
    "parent_span_id": "9ee82bb08f6c89c7",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552963.019571,
    "timestamp": 1787552963.705992,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140066715630464",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"Red\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "9ee82bb08f6c89c7",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, blocking, completion, anthropic)❗︎ 1 1⚠︎ 115599ms
checkChatSpanAttributes
b47397f1descriptionSpan b47397f1: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b47397f1gen_ai.request.modelSpan b47397f1: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
b47397f1gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b47397f1gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
b47397f1gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "86b0121a0ec140ebbc3a58cb88640bda",
    "span_id": "b00eca1de989b7d6",
    "parent_span_id": "b47397f1b24c8727",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:23.197533Z",
    "timestamp": "2026-08-24T06:29:24.390254Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139823234489216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8d4035ad95ebd412",
    "trace_id": "86b0121a0ec140ebbc3a58cb88640bda",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:22.770421Z",
    "timestamp": "2026-08-24T06:29:24.509684Z",
    "data": {
      "thread.id": "139823234489216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b47397f1b24c8727",
    "trace_id": "86b0121a0ec140ebbc3a58cb88640bda",
    "parent_span_id": "8d4035ad95ebd412",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552963.193171,
    "timestamp": 1787552964.404679,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139823234489216",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"Pink\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8d4035ad95ebd412",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, blocking, responses, openai)❗︎ 1 112081ms
checkChatSpanAttributes
a6755877gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a6755877gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
a6755877gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "a1ab1ed968c2473aa5c8cb6788227e8d",
    "span_id": "bad308cb7626e20e",
    "parent_span_id": "a675587707581e44",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:21.685722Z",
    "timestamp": "2026-08-24T06:29:22.450126Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140634722712448",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "859097a27016e393",
    "trace_id": "a1ab1ed968c2473aa5c8cb6788227e8d",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:21.664933Z",
    "timestamp": "2026-08-24T06:29:22.581716Z",
    "data": {
      "thread.id": "140634722712448",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a675587707581e44",
    "trace_id": "a1ab1ed968c2473aa5c8cb6788227e8d",
    "parent_span_id": "859097a27016e393",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552961.681932,
    "timestamp": 1787552962.481023,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140634722712448",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "859097a27016e393",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (sync, blocking, responses, anthropic)❗︎ 1 1⚠︎ 114212ms
checkChatSpanAttributes
8af2d6addescriptionSpan 8af2d6ad: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8af2d6adgen_ai.request.modelSpan 8af2d6ad: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8af2d6adgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
8af2d6adgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
8af2d6adgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "43cfd046e1be41ed86eca7f6587399d1",
    "span_id": "8f60584db142e525",
    "parent_span_id": "8af2d6ad48150fd2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:23.406250Z",
    "timestamp": "2026-08-24T06:29:24.337422Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140688986774400",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9bd2cbe692bf36ad",
    "trace_id": "43cfd046e1be41ed86eca7f6587399d1",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:23.384129Z",
    "timestamp": "2026-08-24T06:29:24.463701Z",
    "data": {
      "thread.id": "140688986774400",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8af2d6ad48150fd2",
    "trace_id": "43cfd046e1be41ed86eca7f6587399d1",
    "parent_span_id": "9bd2cbe692bf36ad",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552963.405453,
    "timestamp": 1787552964.364912,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140688986774400",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "9bd2cbe692bf36ad",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (async, streaming, completion, openai)❗︎ 1 113845ms
checkChatSpanAttributes
9bf012e7gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9bf012e7gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9bf012e7gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9bf012e7gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "span_id": "a58e4bd5f5c9f621",
    "parent_span_id": "9bf012e7516f1531",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:26.041967Z",
    "timestamp": "2026-08-24T06:29:26.043204Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19949
    },
    "data": {
      "thread.id": "140607296726720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "span_id": "bf838ba18c1e3187",
    "parent_span_id": "9bf012e7516f1531",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:26.043278Z",
    "timestamp": "2026-08-24T06:29:26.046491Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19949
    },
    "data": {
      "thread.id": "140607296726720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "span_id": "89b1c6fc92e415cb",
    "parent_span_id": "bf838ba18c1e3187",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:26.046430Z",
    "timestamp": "2026-08-24T06:29:26.046478Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19949
    },
    "data": {
      "thread.id": "140607296726720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "span_id": "abdd71805e610126",
    "parent_span_id": "9bf012e7516f1531",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:26.046527Z",
    "timestamp": "2026-08-24T06:29:26.046542Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19949
    },
    "data": {
      "thread.id": "140607296726720",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "span_id": "946e9b64e13598b9",
    "parent_span_id": "9bf012e7516f1531",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:26.049685Z",
    "timestamp": "2026-08-24T06:29:26.708573Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140607459834752",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "span_id": "90b6915686b2b6be",
    "parent_span_id": "946e9b64e13598b9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:26.050603Z",
    "timestamp": "2026-08-24T06:29:26.707330Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140607459834752",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b95565b9c9bf79e9",
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:25.965261Z",
    "timestamp": "2026-08-24T06:29:27.427974Z",
    "data": {
      "thread.id": "140607459834752",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9bf012e7516f1531",
    "trace_id": "647bacae2b4646779ff2de79b2f7c193",
    "parent_span_id": "b95565b9c9bf79e9",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552966.027342,
    "timestamp": 1787552967.325312,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140607459834752",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini",
      "gen_ai.response.text": "{\"content\": \"Red\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b95565b9c9bf79e9",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (async, streaming, completion, anthropic)❗︎ 1 1⚠︎ 115374ms
checkChatSpanAttributes
872d72efdescriptionSpan 872d72ef: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
872d72efgen_ai.request.modelSpan 872d72ef: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
872d72efgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
872d72efgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
872d72efgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "394e2bccb15641e49c85dd380d4e3e20",
    "span_id": "843b03afd0fe838d",
    "parent_span_id": "872d72ef885606c7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:27.305953Z",
    "timestamp": "2026-08-24T06:29:27.903794Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140326588451712",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "394e2bccb15641e49c85dd380d4e3e20",
    "span_id": "a6e9ee2fe917fab5",
    "parent_span_id": "843b03afd0fe838d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:27.307911Z",
    "timestamp": "2026-08-24T06:29:27.902678Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140326588451712",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bad418bd3cfcecd3",
    "trace_id": "394e2bccb15641e49c85dd380d4e3e20",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:26.693641Z",
    "timestamp": "2026-08-24T06:29:28.111095Z",
    "data": {
      "thread.id": "140326588451712",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "872d72ef885606c7",
    "trace_id": "394e2bccb15641e49c85dd380d4e3e20",
    "parent_span_id": "bad418bd3cfcecd3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552967.301226,
    "timestamp": 1787552968.00637,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140326425159360",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"Pink\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "bad418bd3cfcecd3",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (async, streaming, responses, openai)❗︎ 1 214292ms
checkChatSpanAttributes
b71b5aedgen_ai.usage.input_tokensSpan b71b5aed: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b71b5aedgen_ai.usage.output_tokensSpan b71b5aed: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkValidTokenUsage
b71b5aedgen_ai.usage.input_tokensinput_tokens must exist
b71b5aedgen_ai.usage.output_tokensoutput_tokens must exist
b71b5aedgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkBinaryRedaction
b71b5aedgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b71b5aedgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "f53d9f80380242d292c5b82459b6979d",
    "span_id": "8497e2d6911f6f41",
    "parent_span_id": "b71b5aed46ff984a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:27.934149Z",
    "timestamp": "2026-08-24T06:29:28.182131Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140284149967744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f53d9f80380242d292c5b82459b6979d",
    "span_id": "a8414d2fdfc58dcf",
    "parent_span_id": "8497e2d6911f6f41",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:27.934973Z",
    "timestamp": "2026-08-24T06:29:28.180834Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140284149967744",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a5158ca1644443c5",
    "trace_id": "f53d9f80380242d292c5b82459b6979d",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:27.389241Z",
    "timestamp": "2026-08-24T06:29:28.704951Z",
    "data": {
      "thread.id": "140284149967744",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b71b5aed46ff984a",
    "trace_id": "f53d9f80380242d292c5b82459b6979d",
    "parent_span_id": "a5158ca1644443c5",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552967.933349,
    "timestamp": 1787552968.593517,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140284149967744",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "a5158ca1644443c5",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (async, blocking, completion, openai)❗︎ 1 114795ms
checkChatSpanAttributes
9ab3f9c1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9ab3f9c1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
9ab3f9c1gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9ab3f9c1gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "span_id": "a366332f88eae619",
    "parent_span_id": "9ab3f9c187754689",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:34.132256Z",
    "timestamp": "2026-08-24T06:29:34.135722Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19991
    },
    "data": {
      "thread.id": "139709704136384",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "span_id": "98572b8a24ae4427",
    "parent_span_id": "9ab3f9c187754689",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:34.135796Z",
    "timestamp": "2026-08-24T06:29:34.135919Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19991
    },
    "data": {
      "thread.id": "139709704136384",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "span_id": "b309e5a16b50f5a9",
    "parent_span_id": "98572b8a24ae4427",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:34.135882Z",
    "timestamp": "2026-08-24T06:29:34.135913Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19991
    },
    "data": {
      "thread.id": "139709704136384",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "span_id": "8428c1668f7c9b2c",
    "parent_span_id": "9ab3f9c187754689",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:34.135949Z",
    "timestamp": "2026-08-24T06:29:34.135962Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 19991
    },
    "data": {
      "thread.id": "139709704136384",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "span_id": "9117b910e55f5662",
    "parent_span_id": "9ab3f9c187754689",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:34.137604Z",
    "timestamp": "2026-08-24T06:29:34.730934Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139709866621824",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "span_id": "99825ffee39e6102",
    "parent_span_id": "9117b910e55f5662",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:34.138443Z",
    "timestamp": "2026-08-24T06:29:34.729470Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139709866621824",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b9d13ab56816fc47",
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:34.055453Z",
    "timestamp": "2026-08-24T06:29:34.961063Z",
    "data": {
      "thread.id": "139709866621824",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9ab3f9c187754689",
    "trace_id": "3e7ffa3a32e34846b3ee71909642a7c6",
    "parent_span_id": "b9d13ab56816fc47",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552974.114787,
    "timestamp": 1787552974.847423,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139709866621824",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"Red\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b9d13ab56816fc47",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (async, blocking, completion, anthropic)❗︎ 1 1⚠︎ 115417ms
checkChatSpanAttributes
8555eaf3descriptionSpan 8555eaf3: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8555eaf3gen_ai.request.modelSpan 8555eaf3: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
8555eaf3gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
8555eaf3gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
8555eaf3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "1b05dc02f9a2450fada3d03690f572e0",
    "span_id": "978b46a6b3ea88d2",
    "parent_span_id": "8555eaf3964fa9ca",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:35.245028Z",
    "timestamp": "2026-08-24T06:29:36.104163Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140096366529408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "1b05dc02f9a2450fada3d03690f572e0",
    "span_id": "811aa52fd063604e",
    "parent_span_id": "978b46a6b3ea88d2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:35.245900Z",
    "timestamp": "2026-08-24T06:29:36.077559Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140096366529408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8e7d82de39785afa",
    "trace_id": "1b05dc02f9a2450fada3d03690f572e0",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:34.526749Z",
    "timestamp": "2026-08-24T06:29:36.279941Z",
    "data": {
      "thread.id": "140096366529408",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8555eaf3964fa9ca",
    "trace_id": "1b05dc02f9a2450fada3d03690f572e0",
    "parent_span_id": "8e7d82de39785afa",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552975.237211,
    "timestamp": 1787552976.163297,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140096128939712",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}, {\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"blob\", \"modality\": \"image\", \"mime_type\": \"image/png\", \"content\": \"iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"Pink\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 38,
      "gen_ai.usage.output_tokens": 4,
      "gen_ai.usage.total_tokens": 42,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "8e7d82de39785afa",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Vision LLM Test (async, blocking, responses, openai)❗︎ 1 114469ms
checkChatSpanAttributes
a6c3888bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkBinaryRedaction
a6c3888bgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
a6c3888bgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "6a40732c4a9840368456dfbf26f6bfa4",
    "span_id": "908cf1333d51836e",
    "parent_span_id": "a6c3888bcaff23fa",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:34.373877Z",
    "timestamp": "2026-08-24T06:29:36.153115Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139695150197632",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "6a40732c4a9840368456dfbf26f6bfa4",
    "span_id": "9c64eea4278940b9",
    "parent_span_id": "908cf1333d51836e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:34.374694Z",
    "timestamp": "2026-08-24T06:29:36.131317Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139695150197632",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9750c66ad4601e8f",
    "trace_id": "6a40732c4a9840368456dfbf26f6bfa4",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:29:34.344743Z",
    "timestamp": "2026-08-24T06:29:36.326168Z",
    "data": {
      "thread.id": "139695150197632",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a6c3888bcaff23fa",
    "trace_id": "6a40732c4a9840368456dfbf26f6bfa4",
    "parent_span_id": "9750c66ad4601e8f",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552974.373093,
    "timestamp": 1787552976.216825,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139695150197632",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "9750c66ad4601e8f",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, streaming, completion, openai)❗︎ 118111ms
checkChatSpanAttributes
a7aa2b95gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a7aa2b95gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "span_id": "9630d532febec377",
    "parent_span_id": "a7aa2b95174607a3",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:36.531205Z",
    "timestamp": "2026-08-24T06:29:36.535708Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20013
    },
    "data": {
      "thread.id": "139716529081216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "span_id": "a78648901a76dc67",
    "parent_span_id": "a7aa2b95174607a3",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:36.535789Z",
    "timestamp": "2026-08-24T06:29:36.535915Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20013
    },
    "data": {
      "thread.id": "139716529081216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "span_id": "a554b959f118e8eb",
    "parent_span_id": "a78648901a76dc67",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:36.535878Z",
    "timestamp": "2026-08-24T06:29:36.535911Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20013
    },
    "data": {
      "thread.id": "139716529081216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "span_id": "ab1b01eb75cd05ce",
    "parent_span_id": "a7aa2b95174607a3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:36.535945Z",
    "timestamp": "2026-08-24T06:29:36.535957Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20013
    },
    "data": {
      "thread.id": "139716529081216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "span_id": "93b93419cda65af2",
    "parent_span_id": "a7aa2b95174607a3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:36.540595Z",
    "timestamp": "2026-08-24T06:29:40.643695Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139716529081216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "91fa7a1876a72319",
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:36.456054Z",
    "timestamp": "2026-08-24T06:29:41.282669Z",
    "data": {
      "thread.id": "139716529081216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a7aa2b95174607a3",
    "trace_id": "61165bb666574ec1b1de0ace326710c6",
    "parent_span_id": "91fa7a1876a72319",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552976.513892,
    "timestamp": 1787552981.18458,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139716529081216",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "gen_ai.response.text": "{\"content\": \"This message is a test that will be repeatedly written to generate a lengthy input.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "91fa7a1876a72319",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, streaming, completion, anthropic)❗︎ 1⚠︎ 113784ms
checkChatSpanAttributes
a80be834descriptionSpan a80be834: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a80be834gen_ai.request.modelSpan a80be834: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkInputMessagesSchema
checkResponseModel
a80be834gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "2de410c1b19e4b3bbc2d978a4386cb47",
    "span_id": "8184ff966117847e",
    "parent_span_id": "a80be834fe0a5765",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:37.901691Z",
    "timestamp": "2026-08-24T06:29:38.730661Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139829193714560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8c58ae02861e01e2",
    "trace_id": "2de410c1b19e4b3bbc2d978a4386cb47",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:37.329647Z",
    "timestamp": "2026-08-24T06:29:38.924689Z",
    "data": {
      "thread.id": "139829193714560",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a80be834fe0a5765",
    "trace_id": "2de410c1b19e4b3bbc2d978a4386cb47",
    "parent_span_id": "8c58ae02861e01e2",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552977.896131,
    "timestamp": 1787552978.832348,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139829193714560",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"This is a test message repeated many times to create a long input.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5443,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "8c58ae02861e01e2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, streaming, responses, openai)❗︎ 115133ms
checkChatSpanAttributes
aa488694gen_ai.usage.input_tokensSpan aa488694: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
aa488694gen_ai.usage.output_tokensSpan aa488694: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "455f89834be6408993dd7d2aead6acba",
    "span_id": "9312ec7ca574c4cc",
    "parent_span_id": "aa488694061a755f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:39.050920Z",
    "timestamp": "2026-08-24T06:29:39.359544Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139651655564160",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "902906be6971c832",
    "trace_id": "455f89834be6408993dd7d2aead6acba",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:39.027922Z",
    "timestamp": "2026-08-24T06:29:40.100091Z",
    "data": {
      "thread.id": "139651655564160",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "aa488694061a755f",
    "trace_id": "455f89834be6408993dd7d2aead6acba",
    "parent_span_id": "902906be6971c832",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552979.049628,
    "timestamp": 1787552979.944297,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139651655564160",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "902906be6971c832",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, streaming, responses, anthropic)❗︎ 1 113889ms
checkChatSpanAttributes
Should have at least one chat/completion span
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (2)
[
  {
    "trace_id": "7ebd2d3d23d54d9e898070edf39662de",
    "span_id": "b0068e27e3b24686",
    "parent_span_id": "80c322bd95b3c39a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:38.745112Z",
    "timestamp": "2026-08-24T06:29:39.551172Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139875855813504",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "896694caecbb152c",
    "trace_id": "7ebd2d3d23d54d9e898070edf39662de",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:38.703482Z",
    "timestamp": "2026-08-24T06:29:40.091229Z",
    "data": {
      "thread.id": "139875855813504",
      "thread.name": "MainThread"
    }
  }
]
python/litellm :: Long Input LLM Test (sync, blocking, completion, openai)❗︎ 114100ms
checkChatSpanAttributes
97ace424gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
97ace424gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "span_id": "80f8b94b5385b207",
    "parent_span_id": "97ace424f6d0b7d7",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:39.000025Z",
    "timestamp": "2026-08-24T06:29:39.002164Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20028
    },
    "data": {
      "thread.id": "140003120888704",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "span_id": "b9f49bb5a1dc9b93",
    "parent_span_id": "97ace424f6d0b7d7",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:39.002242Z",
    "timestamp": "2026-08-24T06:29:39.002386Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20028
    },
    "data": {
      "thread.id": "140003120888704",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "span_id": "a26c86dfe8801f4f",
    "parent_span_id": "b9f49bb5a1dc9b93",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:39.002344Z",
    "timestamp": "2026-08-24T06:29:39.002379Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20028
    },
    "data": {
      "thread.id": "140003120888704",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "span_id": "9a2271a8a4478f79",
    "parent_span_id": "97ace424f6d0b7d7",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:39.002418Z",
    "timestamp": "2026-08-24T06:29:39.002432Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20028
    },
    "data": {
      "thread.id": "140003120888704",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "span_id": "a84ae2089766cc7b",
    "parent_span_id": "97ace424f6d0b7d7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:39.007084Z",
    "timestamp": "2026-08-24T06:29:41.121123Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140003120888704",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "98012d8e0d75d885",
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:38.925382Z",
    "timestamp": "2026-08-24T06:29:41.333699Z",
    "data": {
      "thread.id": "140003120888704",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "97ace424f6d0b7d7",
    "trace_id": "05a06e9de1d34d42a7655dca19c76d2b",
    "parent_span_id": "98012d8e0d75d885",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552978.986672,
    "timestamp": 1787552981.22752,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140003120888704",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"The message is a repeated test statement designed to create a lengthy input.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "98012d8e0d75d885",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, blocking, completion, anthropic)❗︎ 1⚠︎ 114965ms
checkChatSpanAttributes
b651a2bddescriptionSpan b651a2bd: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b651a2bdgen_ai.request.modelSpan b651a2bd: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkInputMessagesSchema
checkResponseModel
b651a2bdgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "4c353f5a687c47e081164090f833a1c4",
    "span_id": "acb898436e3b4aba",
    "parent_span_id": "b651a2bd5c5e57c5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:42.921389Z",
    "timestamp": "2026-08-24T06:29:43.743196Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140493951171456",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a4416817a5c51144",
    "trace_id": "4c353f5a687c47e081164090f833a1c4",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:42.235517Z",
    "timestamp": "2026-08-24T06:29:43.866063Z",
    "data": {
      "thread.id": "140493951171456",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b651a2bd5c5e57c5",
    "trace_id": "4c353f5a687c47e081164090f833a1c4",
    "parent_span_id": "a4416817a5c51144",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552982.913567,
    "timestamp": 1787552983.758705,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140493951171456",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"This is a test message that will be repeated many times to create a very long input.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 21,
      "gen_ai.usage.total_tokens": 5447,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "a4416817a5c51144",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, blocking, responses, openai)❗︎ 116229ms
checkChatSpanAttributes
8a014fd1gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "b18bd02f1bb64361835ae0da861c21b2",
    "span_id": "9eeb997f7b3885c3",
    "parent_span_id": "8a014fd16e0160b7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:42.342021Z",
    "timestamp": "2026-08-24T06:29:45.312086Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140544676924288",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b7898026a8802721",
    "trace_id": "b18bd02f1bb64361835ae0da861c21b2",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:42.292101Z",
    "timestamp": "2026-08-24T06:29:45.445919Z",
    "data": {
      "thread.id": "140544676924288",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8a014fd16e0160b7",
    "trace_id": "b18bd02f1bb64361835ae0da861c21b2",
    "parent_span_id": "b7898026a8802721",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552982.331558,
    "timestamp": 1787552985.344889,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140544676924288",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5447,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b7898026a8802721",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (sync, blocking, responses, anthropic)❗︎ 1⚠︎ 115293ms
checkChatSpanAttributes
9be50b75descriptionSpan 9be50b75: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
9be50b75gen_ai.request.modelSpan 9be50b75: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkInputMessagesSchema
checkResponseModel
9be50b75gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (3)
[
  {
    "trace_id": "9c3c8999ef2a42338dd7124f021973e3",
    "span_id": "a1a59d6062d76a12",
    "parent_span_id": "9be50b7511764ee8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:45.360278Z",
    "timestamp": "2026-08-24T06:29:46.459568Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140563191044992",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b35dc4547e3a4939",
    "trace_id": "9c3c8999ef2a42338dd7124f021973e3",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:45.303347Z",
    "timestamp": "2026-08-24T06:29:46.584706Z",
    "data": {
      "thread.id": "140563191044992",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9be50b7511764ee8",
    "trace_id": "9c3c8999ef2a42338dd7124f021973e3",
    "parent_span_id": "b35dc4547e3a4939",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552985.349846,
    "timestamp": 1787552986.484954,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140563191044992",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 18,
      "gen_ai.usage.total_tokens": 5444,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b35dc4547e3a4939",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (async, streaming, completion, openai)❗︎ 113335ms
checkChatSpanAttributes
b2741052gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b2741052gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "span_id": "98d00ec33fecd5f5",
    "parent_span_id": "b2741052af13b3be",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:46.615781Z",
    "timestamp": "2026-08-24T06:29:46.620718Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20072
    },
    "data": {
      "thread.id": "139776019658432",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "span_id": "98fd8da60ca28461",
    "parent_span_id": "b2741052af13b3be",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:46.620792Z",
    "timestamp": "2026-08-24T06:29:46.620916Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20072
    },
    "data": {
      "thread.id": "139776019658432",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "span_id": "8675f8f8bb6b1121",
    "parent_span_id": "98fd8da60ca28461",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:46.620879Z",
    "timestamp": "2026-08-24T06:29:46.620911Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20072
    },
    "data": {
      "thread.id": "139776019658432",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "span_id": "ae8c627784a8294c",
    "parent_span_id": "b2741052af13b3be",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:46.620946Z",
    "timestamp": "2026-08-24T06:29:46.620958Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20072
    },
    "data": {
      "thread.id": "139776019658432",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "span_id": "a46d48906eec4389",
    "parent_span_id": "b2741052af13b3be",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:46.623942Z",
    "timestamp": "2026-08-24T06:29:46.962540Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139776253885312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "span_id": "9fbe376703d1b347",
    "parent_span_id": "a46d48906eec4389",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:46.624813Z",
    "timestamp": "2026-08-24T06:29:46.961341Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139776253885312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b3a4fb6fd7308b9e",
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:46.545165Z",
    "timestamp": "2026-08-24T06:29:47.875889Z",
    "data": {
      "thread.id": "139776253885312",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b2741052af13b3be",
    "trace_id": "0d6f1b528d74427c94ef39dc0ae56ba8",
    "parent_span_id": "b3a4fb6fd7308b9e",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552986.598731,
    "timestamp": 1787552987.773435,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139776253885312",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini",
      "gen_ai.response.text": "{\"content\": \"This repeated test message emphasizes the creation of a lengthy input through constant reiteration.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b3a4fb6fd7308b9e",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (async, streaming, completion, anthropic)❗︎ 1⚠︎ 114523ms
checkChatSpanAttributes
ab92120bdescriptionSpan ab92120b: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
ab92120bgen_ai.request.modelSpan ab92120b: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkInputMessagesSchema
checkResponseModel
ab92120bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "4265aa5a363d4e51a03a2e056577682c",
    "span_id": "b85ac44bbc3fe61e",
    "parent_span_id": "ab92120bab1e3c2e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:48.274602Z",
    "timestamp": "2026-08-24T06:29:49.044451Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139994879990656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "4265aa5a363d4e51a03a2e056577682c",
    "span_id": "b9c7c4996fa3f7b2",
    "parent_span_id": "b85ac44bbc3fe61e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:48.275466Z",
    "timestamp": "2026-08-24T06:29:49.043371Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139994879990656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bb8cfc67e9b68fce",
    "trace_id": "4265aa5a363d4e51a03a2e056577682c",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:47.844185Z",
    "timestamp": "2026-08-24T06:29:49.445898Z",
    "data": {
      "thread.id": "139994879990656",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab92120bab1e3c2e",
    "trace_id": "4265aa5a363d4e51a03a2e056577682c",
    "parent_span_id": "bb8cfc67e9b68fce",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552988.269497,
    "timestamp": 1787552989.33654,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139994717578944",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"This text is a single test message repeated many times to create an artificially lengthy input.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 21,
      "gen_ai.usage.total_tokens": 5447,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bb8cfc67e9b68fce",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (async, streaming, responses, openai)❗︎ 114800ms
checkChatSpanAttributes
a8c953fbgen_ai.usage.input_tokensSpan a8c953fb: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a8c953fbgen_ai.usage.output_tokensSpan a8c953fb: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "bce7fe4e33554709b4932f604fdce33c",
    "span_id": "a5abc30f93ea3d30",
    "parent_span_id": "a8c953fb017eed2c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:49.320644Z",
    "timestamp": "2026-08-24T06:29:49.590633Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139875178535808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "bce7fe4e33554709b4932f604fdce33c",
    "span_id": "b671495df923f947",
    "parent_span_id": "a5abc30f93ea3d30",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:49.321478Z",
    "timestamp": "2026-08-24T06:29:49.589342Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139875178535808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8324b2b4e7bdd7ce",
    "trace_id": "bce7fe4e33554709b4932f604fdce33c",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:48.684445Z",
    "timestamp": "2026-08-24T06:29:50.367042Z",
    "data": {
      "thread.id": "139875178535808",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a8c953fb017eed2c",
    "trace_id": "bce7fe4e33554709b4932f604fdce33c",
    "parent_span_id": "8324b2b4e7bdd7ce",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552989.319431,
    "timestamp": 1787552990.217416,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139875178535808",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "8324b2b4e7bdd7ce",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (async, blocking, completion, openai)❗︎ 112992ms
checkChatSpanAttributes
be9a5570gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be9a5570gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (8)
[
  {
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "span_id": "9ddf0f5c49b0e26c",
    "parent_span_id": "be9a557059549c17",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:51.634790Z",
    "timestamp": "2026-08-24T06:29:51.644669Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20104
    },
    "data": {
      "thread.id": "140313392408256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "span_id": "bd863caf04f55a11",
    "parent_span_id": "be9a557059549c17",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:51.644762Z",
    "timestamp": "2026-08-24T06:29:51.644903Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20104
    },
    "data": {
      "thread.id": "140313392408256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "span_id": "9f1550ac1ce9b1d0",
    "parent_span_id": "bd863caf04f55a11",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:51.644862Z",
    "timestamp": "2026-08-24T06:29:51.644900Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20104
    },
    "data": {
      "thread.id": "140313392408256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "span_id": "9a98c59f6c2cbced",
    "parent_span_id": "be9a557059549c17",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:51.644938Z",
    "timestamp": "2026-08-24T06:29:51.644951Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20104
    },
    "data": {
      "thread.id": "140313392408256",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "span_id": "93d336c2c61c1196",
    "parent_span_id": "be9a557059549c17",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:51.649068Z",
    "timestamp": "2026-08-24T06:29:52.268882Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140313556507520",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "span_id": "85df2565546734b5",
    "parent_span_id": "93d336c2c61c1196",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:51.649941Z",
    "timestamp": "2026-08-24T06:29:52.267471Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140313556507520",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "876fcb2d06c9b354",
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:51.541225Z",
    "timestamp": "2026-08-24T06:29:52.464925Z",
    "data": {
      "thread.id": "140313556507520",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "be9a557059549c17",
    "trace_id": "3b4e02adc2aa4b0787d7caecd6c36495",
    "parent_span_id": "876fcb2d06c9b354",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552991.615432,
    "timestamp": 1787552992.357291,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140313556507520",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"The provided text is a repetitive test message designed to create a long input by being reiterated multiple times.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 20,
      "gen_ai.usage.total_tokens": 5449,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "876fcb2d06c9b354",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (async, blocking, completion, anthropic)❗︎ 1⚠︎ 114891ms
checkChatSpanAttributes
ab74b85adescriptionSpan ab74b85a: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
ab74b85agen_ai.request.modelSpan ab74b85a: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkInputMessagesSchema
checkResponseModel
ab74b85agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "467d0c15bf604fa8a1b2db2ee5d79bcd",
    "span_id": "80c20a16d9cf9e62",
    "parent_span_id": "ab74b85aa8fdcdd9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:53.187368Z",
    "timestamp": "2026-08-24T06:29:54.561162Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140325162318720",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "467d0c15bf604fa8a1b2db2ee5d79bcd",
    "span_id": "a0e342538929404f",
    "parent_span_id": "80c20a16d9cf9e62",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:53.188243Z",
    "timestamp": "2026-08-24T06:29:54.352591Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140325162318720",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "81031d528e5df927",
    "trace_id": "467d0c15bf604fa8a1b2db2ee5d79bcd",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:52.583482Z",
    "timestamp": "2026-08-24T06:29:54.733293Z",
    "data": {
      "thread.id": "140325162318720",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ab74b85aa8fdcdd9",
    "trace_id": "467d0c15bf604fa8a1b2db2ee5d79bcd",
    "parent_span_id": "81031d528e5df927",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552993.185371,
    "timestamp": 1787552994.616031,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140324999096000",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant. Respond briefly.\"}, {\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"This is a test message repeated many times to create lengthy input.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 5426,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5442,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "81031d528e5df927",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Long Input LLM Test (async, blocking, responses, openai)❗︎ 114670ms
checkChatSpanAttributes
97a7fb33gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (4)
[
  {
    "trace_id": "219a036ecfdc4f84b3f69bca68de590f",
    "span_id": "9b8c72d29db715db",
    "parent_span_id": "97a7fb33fb057f88",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:53.321438Z",
    "timestamp": "2026-08-24T06:29:54.719113Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140364917316480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "219a036ecfdc4f84b3f69bca68de590f",
    "span_id": "8223c170f7bc65f5",
    "parent_span_id": "9b8c72d29db715db",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:53.322243Z",
    "timestamp": "2026-08-24T06:29:54.679345Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140364917316480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 30,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b393c0383b7e6548",
    "trace_id": "219a036ecfdc4f84b3f69bca68de590f",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:29:53.280898Z",
    "timestamp": "2026-08-24T06:29:54.895937Z",
    "data": {
      "thread.id": "140364917316480",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "97a7fb33fb057f88",
    "trace_id": "219a036ecfdc4f84b3f69bca68de590f",
    "parent_span_id": "b393c0383b7e6548",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787552993.320252,
    "timestamp": 1787552994.783093,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140364917316480",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 12,
      "gen_ai.usage.total_tokens": 5441,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "b393c0383b7e6548",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, streaming, completion, openai)❗︎ 121725ms
checkAISpanCount(4)
checkChatSpanAttributes
908ad926gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
908ad926gen_ai.output.messagesMissing output messages attribute
8642ef9dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8642ef9dgen_ai.output.messagesMissing output messages attribute
960f1bf3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
960f1bf3gen_ai.output.messagesMissing output messages attribute
b8542c8fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b8542c8fgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "a0d26b1f10da6503",
    "parent_span_id": "908ad926eb27e1ba",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:29:54.726499Z",
    "timestamp": "2026-08-24T06:29:54.732806Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20135
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "b711bb5a20ae049a",
    "parent_span_id": "908ad926eb27e1ba",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:54.732875Z",
    "timestamp": "2026-08-24T06:29:54.735216Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20135
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "9bff0435158deb3f",
    "parent_span_id": "b711bb5a20ae049a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:54.735163Z",
    "timestamp": "2026-08-24T06:29:54.735205Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20135
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "b056a071e6dc1cd5",
    "parent_span_id": "908ad926eb27e1ba",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:29:54.735249Z",
    "timestamp": "2026-08-24T06:29:54.735261Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20135
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "b679aab54494aca9",
    "parent_span_id": "908ad926eb27e1ba",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:54.736626Z",
    "timestamp": "2026-08-24T06:29:55.675352Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "bbb59f1880d42ed2",
    "parent_span_id": "8642ef9dbf0cc267",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:56.652924Z",
    "timestamp": "2026-08-24T06:29:59.182719Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "b454d54161db35b7",
    "parent_span_id": "960f1bf3431a8a3f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:59.565565Z",
    "timestamp": "2026-08-24T06:30:01.909019Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "span_id": "8799445a16d47e3e",
    "parent_span_id": "b8542c8fdd9fff5f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:02.114279Z",
    "timestamp": "2026-08-24T06:30:04.486836Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 120,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ab81976662854eb2",
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:29:54.682507Z",
    "timestamp": "2026-08-24T06:30:04.833120Z",
    "data": {
      "thread.id": "139828558551936",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "908ad926eb27e1ba",
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "parent_span_id": "ab81976662854eb2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552994.719108,
    "timestamp": 1787552996.533841,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ab81976662854eb2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8642ef9dbf0cc267",
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "parent_span_id": "ab81976662854eb2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552996.647557,
    "timestamp": 1787552999.449302,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 295,
      "gen_ai.usage.total_tokens": 319,
      "gen_ai.response.text": "{\"content\": \"4. In base-10 arithmetic, 2 + 2 = 4. Want a quick demonstration on a number line or in another base?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ab81976662854eb2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "960f1bf3431a8a3f",
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "parent_span_id": "ab81976662854eb2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552999.557185,
    "timestamp": 1787553002.009655,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 272,
      "gen_ai.usage.total_tokens": 316,
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ab81976662854eb2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b8542c8fdd9fff5f",
    "trace_id": "26d3a31359ab486c9f962bf350ff4d0a",
    "parent_span_id": "ab81976662854eb2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553002.110709,
    "timestamp": 1787553004.733403,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139828558551936",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 433,
      "gen_ai.usage.total_tokens": 483,
      "gen_ai.response.text": "{\"content\": \"3 + 3 = 6. You can think of it as two groups of three: 3, 4, 5, 6. Want a few more quick sums to practice?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "ab81976662854eb2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, streaming, completion, anthropic)❗︎ 1⚠︎ 118459ms
checkAISpanCount(4)
checkChatSpanAttributes
b21fa922descriptionSpan b21fa922: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b21fa922gen_ai.request.modelSpan b21fa922: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
baa0a745descriptionSpan baa0a745: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
baa0a745gen_ai.request.modelSpan baa0a745: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
b81dc46ddescriptionSpan b81dc46d: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b81dc46dgen_ai.request.modelSpan b81dc46d: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
b96fcb46descriptionSpan b96fcb46: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b96fcb46gen_ai.request.modelSpan b96fcb46: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b21fa922gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
baa0a745gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
b81dc46dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
b96fcb46gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "span_id": "b24034f3e7da70b3",
    "parent_span_id": "b21fa922b1b1ab51",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:58.756476Z",
    "timestamp": "2026-08-24T06:29:59.361544Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "span_id": "89a223de79283369",
    "parent_span_id": "baa0a7456730e03e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:29:59.696455Z",
    "timestamp": "2026-08-24T06:30:01.562275Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "span_id": "9efa1b13f388ae18",
    "parent_span_id": "b81dc46dc80d1e3c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:02.174753Z",
    "timestamp": "2026-08-24T06:30:03.029871Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "span_id": "b98baab00ad99c34",
    "parent_span_id": "b96fcb467c59239b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:03.151808Z",
    "timestamp": "2026-08-24T06:30:03.838866Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 120,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "baeae7539ac1babf",
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:29:58.073073Z",
    "timestamp": "2026-08-24T06:30:03.964316Z",
    "data": {
      "thread.id": "140474659511168",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b21fa922b1b1ab51",
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "parent_span_id": "baeae7539ac1babf",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552998.749235,
    "timestamp": 1787552999.593879,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is **Paris**. It is located in the north-central part of the country along the Seine River and is the largest city in France by population and area.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 40,
      "gen_ai.usage.total_tokens": 60,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "baeae7539ac1babf",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "baa0a7456730e03e",
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "parent_span_id": "baeae7539ac1babf",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787552999.695696,
    "timestamp": 1787553002.074969,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"2 + 2 = **4**\\n\\nThis is one of the most fundamental addition facts in mathematics. If you have 2 of something and add 2 more, you end up with 4 total.\\n\\nIs there anything else you'd like help with?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 62,
      "gen_ai.usage.total_tokens": 85,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "baeae7539ac1babf",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b81dc46dc80d1e3c",
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "parent_span_id": "baeae7539ac1babf",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553002.174032,
    "timestamp": 1787553003.04827,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "baeae7539ac1babf",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b96fcb467c59239b",
    "trace_id": "68a546d81e9142199afdf59461e1f5b1",
    "parent_span_id": "baeae7539ac1babf",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553003.148993,
    "timestamp": 1787553003.863822,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140474659511168",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "baeae7539ac1babf",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, streaming, responses, openai)❗︎ 1 121728ms
checkAISpanCount(4)
checkChatSpanAttributes
8e31a5bdgen_ai.usage.input_tokensSpan 8e31a5bd: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
8e31a5bdgen_ai.usage.output_tokensSpan 8e31a5bd: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
85766871gen_ai.usage.input_tokensSpan 85766871: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
85766871gen_ai.usage.output_tokensSpan 85766871: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b4e28007gen_ai.usage.input_tokensSpan b4e28007: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b4e28007gen_ai.usage.output_tokensSpan b4e28007: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
af014c65gen_ai.usage.input_tokensSpan af014c65: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
af014c65gen_ai.usage.output_tokensSpan af014c65: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
8e31a5bdgen_ai.usage.input_tokensinput_tokens must exist
8e31a5bdgen_ai.usage.output_tokensoutput_tokens must exist
8e31a5bdgen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "span_id": "bccd104652bcbf61",
    "parent_span_id": "8e31a5bd842348f8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:29:58.395145Z",
    "timestamp": "2026-08-24T06:29:58.689599Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "span_id": "904d78faed82a032",
    "parent_span_id": "857668710ae067df",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:01.175709Z",
    "timestamp": "2026-08-24T06:30:01.407216Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "span_id": "83434fbdd4627e6f",
    "parent_span_id": "b4e280075b6eb0b4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:03.088299Z",
    "timestamp": "2026-08-24T06:30:03.371849Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 79,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "span_id": "8fa1b67f4a5c3b2d",
    "parent_span_id": "af014c65202ba4ed",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:05.703416Z",
    "timestamp": "2026-08-24T06:30:05.902959Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 111,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8daf166d2d032df1",
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:29:58.360576Z",
    "timestamp": "2026-08-24T06:30:08.304960Z",
    "data": {
      "thread.id": "140390326635392",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8e31a5bd842348f8",
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "parent_span_id": "8daf166d2d032df1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787552998.392409,
    "timestamp": 1787553001.042623,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8daf166d2d032df1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "857668710ae067df",
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "parent_span_id": "8daf166d2d032df1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553001.174786,
    "timestamp": 1787553002.939978,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8daf166d2d032df1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4e280075b6eb0b4",
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "parent_span_id": "8daf166d2d032df1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553003.087658,
    "timestamp": 1787553005.548215,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8daf166d2d032df1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "af014c65202ba4ed",
    "trace_id": "b836bf5ee56a410a923ec83a1436e9f6",
    "parent_span_id": "8daf166d2d032df1",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553005.702749,
    "timestamp": 1787553008.170793,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140390326635392",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8daf166d2d032df1",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, streaming, responses, anthropic)❗︎ 3 115216ms
checkAISpanCount(4)
Should have exactly 4 AI span(s) but found 0
checkChatSpanAttributes
Should have at least one chat/completion span
checkConversationIds([conv-a, conv-b])
Should have at least one AI span
checkValidTokenUsage(No AI spans captured)
checkInputMessagesSchema
Should have at least one chat or agent span
checkResponseModel(No chat or embedding spans captured)
{}Captured Spans (5)
[
  {
    "trace_id": "8c603344ff3c4995869325f205f0d0d5",
    "span_id": "ad889c0888ef5ff5",
    "parent_span_id": "9777d0eb6e50db70",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:29:59.688569Z",
    "timestamp": "2026-08-24T06:30:00.456030Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356912794496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8c603344ff3c4995869325f205f0d0d5",
    "span_id": "b8e15b3eab3383ee",
    "parent_span_id": "81fe2f27a6929412",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:00.800012Z",
    "timestamp": "2026-08-24T06:30:01.870061Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356912794496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8c603344ff3c4995869325f205f0d0d5",
    "span_id": "a50256e739653395",
    "parent_span_id": "9c68609d23bd94d3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:01.974866Z",
    "timestamp": "2026-08-24T06:30:02.713601Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356912794496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 79,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "8c603344ff3c4995869325f205f0d0d5",
    "span_id": "913a827af2242be2",
    "parent_span_id": "987e2fbaefc0fcce",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:02.817941Z",
    "timestamp": "2026-08-24T06:30:03.523559Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140356912794496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 111,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "afabb14a2299a55e",
    "trace_id": "8c603344ff3c4995869325f205f0d0d5",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:29:59.664698Z",
    "timestamp": "2026-08-24T06:30:03.625162Z",
    "data": {
      "thread.id": "140356912794496",
      "thread.name": "MainThread"
    }
  }
]
python/litellm :: Conversation ID LLM Test (sync, blocking, completion, openai)❗︎ 119541ms
checkAISpanCount(4)
checkChatSpanAttributes
9fe1ba50gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9fe1ba50gen_ai.output.messagesMissing output messages attribute
9f06a9c8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9f06a9c8gen_ai.output.messagesMissing output messages attribute
b4c096d6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4c096d6gen_ai.output.messagesMissing output messages attribute
a8ca6a3agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8ca6a3agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "ba5a3b3bee563ff0",
    "parent_span_id": "9fe1ba501cdaf934",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:00.827557Z",
    "timestamp": "2026-08-24T06:30:00.829996Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20172
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "9a1c1e8c640f1427",
    "parent_span_id": "9fe1ba501cdaf934",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:00.830075Z",
    "timestamp": "2026-08-24T06:30:00.830917Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20172
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "95a426d79943a100",
    "parent_span_id": "9a1c1e8c640f1427",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:00.830856Z",
    "timestamp": "2026-08-24T06:30:00.830902Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20172
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "98195d4eacc6c9d3",
    "parent_span_id": "9fe1ba501cdaf934",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:00.830964Z",
    "timestamp": "2026-08-24T06:30:00.830979Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20172
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "9f0acbec1008a65b",
    "parent_span_id": "9fe1ba501cdaf934",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:00.832422Z",
    "timestamp": "2026-08-24T06:30:02.531084Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "88f8f647bc4763a7",
    "parent_span_id": "9f06a9c80c84abf9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:02.697116Z",
    "timestamp": "2026-08-24T06:30:04.404738Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "9dd92df8949cd24b",
    "parent_span_id": "b4c096d6b17d3d14",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:04.509209Z",
    "timestamp": "2026-08-24T06:30:06.985422Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "span_id": "a739a1d4dfab0b2b",
    "parent_span_id": "a8ca6a3a241716e3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:07.105450Z",
    "timestamp": "2026-08-24T06:30:09.045548Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 96,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9dd0b3c4b0ba55b4",
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:00.765821Z",
    "timestamp": "2026-08-24T06:30:09.153573Z",
    "data": {
      "thread.id": "139835424832384",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9fe1ba501cdaf934",
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "parent_span_id": "9dd0b3c4b0ba55b4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553000.816229,
    "timestamp": 1787553002.588284,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 202,
      "gen_ai.usage.total_tokens": 225,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9dd0b3c4b0ba55b4",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9f06a9c80c84abf9",
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "parent_span_id": "9dd0b3c4b0ba55b4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553002.69086,
    "timestamp": 1787553004.406663,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"4. In base-10 arithmetic, 2 + 2 = 4. Want a quick demonstration or some practice problems?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 227,
      "gen_ai.usage.total_tokens": 251,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9dd0b3c4b0ba55b4",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4c096d6b17d3d14",
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "parent_span_id": "9dd0b3c4b0ba55b4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553004.507394,
    "timestamp": 1787553006.996026,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Germany's capital is Berlin. It has been the capital since reunification (before which Bonn served as the seat of government).\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 290,
      "gen_ai.usage.total_tokens": 334,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9dd0b3c4b0ba55b4",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a8ca6a3a241716e3",
    "trace_id": "f57ddeefe93a40149b83eb1625d50eed",
    "parent_span_id": "9dd0b3c4b0ba55b4",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553007.097155,
    "timestamp": 1787553009.052969,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139835424832384",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"3 + 3 = 6.\\n\\nIf you want a quick check: imagine two groups of three objects each\\u2014they total six. I can show other methods (number line, fingers) if you like.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 242,
      "gen_ai.usage.total_tokens": 292,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9dd0b3c4b0ba55b4",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, blocking, completion, anthropic)❗︎ 1⚠︎ 113289ms
checkAISpanCount(4)
checkChatSpanAttributes
b9179006descriptionSpan b9179006: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b9179006gen_ai.request.modelSpan b9179006: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
a87da8b4descriptionSpan a87da8b4: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a87da8b4gen_ai.request.modelSpan a87da8b4: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
a1fdd693descriptionSpan a1fdd693: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a1fdd693gen_ai.request.modelSpan a1fdd693: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
951f7915descriptionSpan 951f7915: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
951f7915gen_ai.request.modelSpan 951f7915: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
b9179006gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a87da8b4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a1fdd693gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
951f7915gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "span_id": "93519a09677262cc",
    "parent_span_id": "b91790066162c499",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:00.735158Z",
    "timestamp": "2026-08-24T06:30:01.312777Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "span_id": "b5ca0a8f0ed491b2",
    "parent_span_id": "a87da8b4240662f3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:01.428048Z",
    "timestamp": "2026-08-24T06:30:03.391970Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "span_id": "920aa489b2d2d9b4",
    "parent_span_id": "a1fdd693f52da6ea",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:03.497649Z",
    "timestamp": "2026-08-24T06:30:04.003119Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "span_id": "8e16ec3de10ef16f",
    "parent_span_id": "951f7915a92aa9c1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:04.106686Z",
    "timestamp": "2026-08-24T06:30:04.695998Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 96,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9913ade5d61ceec3",
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:00.314904Z",
    "timestamp": "2026-08-24T06:30:04.797337Z",
    "data": {
      "thread.id": "139756873943936",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b91790066162c499",
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "parent_span_id": "9913ade5d61ceec3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553000.733955,
    "timestamp": 1787553001.32263,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9913ade5d61ceec3",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a87da8b4240662f3",
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "parent_span_id": "9913ade5d61ceec3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553001.427245,
    "timestamp": 1787553003.394027,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"2 + 2 = 4\\n\\nThis is one of the most fundamental arithmetic facts! When you combine two groups of 2 items each, you get a total of 4 items.\\n\\nIs there anything else you'd like help with in math?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 59,
      "gen_ai.usage.total_tokens": 82,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9913ade5d61ceec3",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a1fdd693f52da6ea",
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "parent_span_id": "9913ade5d61ceec3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553003.494911,
    "timestamp": 1787553004.004853,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9913ade5d61ceec3",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "951f7915a92aa9c1",
    "trace_id": "9d2cfe07c09b4a19b530838736144e22",
    "parent_span_id": "9913ade5d61ceec3",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553004.105984,
    "timestamp": 1787553004.697403,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139756873943936",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\", \"reasoning\": \"None\"}}",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9913ade5d61ceec3",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, blocking, responses, openai)❗︎ 119649ms
checkAISpanCount(4)
checkChatSpanAttributes
a5773d8cgen_ai.output.messagesMissing output messages attribute
a42a1488gen_ai.output.messagesMissing output messages attribute
a0e08abfgen_ai.output.messagesMissing output messages attribute
957223f4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "span_id": "bee1566dcf16bd7d",
    "parent_span_id": "a5773d8cb11b7846",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:01.419440Z",
    "timestamp": "2026-08-24T06:30:02.949111Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "span_id": "b079c1decca6dba2",
    "parent_span_id": "a42a148867b0cf9c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:03.063777Z",
    "timestamp": "2026-08-24T06:30:05.896710Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "span_id": "b74b63e9b6bbe968",
    "parent_span_id": "a0e08abfb6d88c7a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:06.004027Z",
    "timestamp": "2026-08-24T06:30:07.880199Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "span_id": "b2d2296fc6870504",
    "parent_span_id": "957223f4e15f5673",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:07.987127Z",
    "timestamp": "2026-08-24T06:30:11.058870Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 87,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "94338d33afa8017b",
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:01.409074Z",
    "timestamp": "2026-08-24T06:30:11.163497Z",
    "data": {
      "thread.id": "140510697315200",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a5773d8cb11b7846",
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "parent_span_id": "94338d33afa8017b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553001.418666,
    "timestamp": 1787553002.960679,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 149,
      "gen_ai.usage.total_tokens": 172,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "94338d33afa8017b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a42a148867b0cf9c",
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "parent_span_id": "94338d33afa8017b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553003.063038,
    "timestamp": 1787553005.904552,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 338,
      "gen_ai.usage.total_tokens": 362,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "94338d33afa8017b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a0e08abfb6d88c7a",
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "parent_span_id": "94338d33afa8017b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553006.003246,
    "timestamp": 1787553007.884415,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 232,
      "gen_ai.usage.total_tokens": 276,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "94338d33afa8017b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "957223f4e15f5673",
    "trace_id": "fd1a20abae7e44a2bc55f24453390110",
    "parent_span_id": "94338d33afa8017b",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553007.986428,
    "timestamp": 1787553011.064148,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140510697315200",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 316,
      "gen_ai.usage.total_tokens": 366,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "94338d33afa8017b",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (sync, blocking, responses, anthropic)❗︎ 1⚠︎ 114604ms
checkAISpanCount(4)
checkChatSpanAttributes
a700f75edescriptionSpan a700f75e: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a700f75egen_ai.request.modelSpan a700f75e: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
b8cb1f55descriptionSpan b8cb1f55: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b8cb1f55gen_ai.request.modelSpan b8cb1f55: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
a5fbd7b8descriptionSpan a5fbd7b8: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a5fbd7b8gen_ai.request.modelSpan a5fbd7b8: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
82e05b03descriptionSpan 82e05b03: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
82e05b03gen_ai.request.modelSpan 82e05b03: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
a700f75egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
b8cb1f55gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a5fbd7b8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
82e05b03gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (9)
[
  {
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "span_id": "a7c68d06a9cc26ab",
    "parent_span_id": "a700f75efde625a8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:02.368426Z",
    "timestamp": "2026-08-24T06:30:03.426002Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "span_id": "a97cf1198f6d23cf",
    "parent_span_id": "b8cb1f55e9b40751",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:03.536980Z",
    "timestamp": "2026-08-24T06:30:04.278872Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "span_id": "9bf50e1bf5f5230a",
    "parent_span_id": "a5fbd7b8ac06fa68",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:04.381745Z",
    "timestamp": "2026-08-24T06:30:05.117793Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "span_id": "9c58cb445b6017eb",
    "parent_span_id": "82e05b03682aa118",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/responses",
    "start_timestamp": "2026-08-24T06:30:05.223830Z",
    "timestamp": "2026-08-24T06:30:05.856280Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 87,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aa6f1fe69e8433c9",
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:02.344929Z",
    "timestamp": "2026-08-24T06:30:05.960694Z",
    "data": {
      "thread.id": "140461797694336",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a700f75efde625a8",
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "parent_span_id": "aa6f1fe69e8433c9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553002.367515,
    "timestamp": 1787553003.435515,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 58,
      "gen_ai.usage.total_tokens": 78,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aa6f1fe69e8433c9",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b8cb1f55e9b40751",
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "parent_span_id": "aa6f1fe69e8433c9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553003.536114,
    "timestamp": 1787553004.280676,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 25,
      "gen_ai.usage.total_tokens": 48,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aa6f1fe69e8433c9",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5fbd7b8ac06fa68",
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "parent_span_id": "aa6f1fe69e8433c9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553004.381245,
    "timestamp": 1787553005.120267,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aa6f1fe69e8433c9",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82e05b03682aa118",
    "trace_id": "29194fc2c0164d7ca7ee0f4143819e15",
    "parent_span_id": "aa6f1fe69e8433c9",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553005.223143,
    "timestamp": 1787553005.860753,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140461797694336",
      "thread.name": "MainThread",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "aa6f1fe69e8433c9",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (async, streaming, completion, openai)❗︎ 118451ms
checkAISpanCount(4)
checkChatSpanAttributes
a9c341adgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a9c341adgen_ai.output.messagesMissing output messages attribute
bcba1927gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bcba1927gen_ai.output.messagesMissing output messages attribute
a278fa79gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a278fa79gen_ai.output.messagesMissing output messages attribute
8b416df4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8b416df4gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (17)
[
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "9d32740ec7d1647a",
    "parent_span_id": "a9c341adf927e9fd",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:02.944848Z",
    "timestamp": "2026-08-24T06:30:02.946964Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20186
    },
    "data": {
      "thread.id": "140468559636160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "b5551119c1d34b8e",
    "parent_span_id": "a9c341adf927e9fd",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:02.947042Z",
    "timestamp": "2026-08-24T06:30:02.947992Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20186
    },
    "data": {
      "thread.id": "140468559636160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "822b1f68d3ec3cea",
    "parent_span_id": "b5551119c1d34b8e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:02.947815Z",
    "timestamp": "2026-08-24T06:30:02.947977Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20186
    },
    "data": {
      "thread.id": "140468559636160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "902442a84b8cc375",
    "parent_span_id": "a9c341adf927e9fd",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:02.948033Z",
    "timestamp": "2026-08-24T06:30:02.948050Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20186
    },
    "data": {
      "thread.id": "140468559636160",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "bc4fae77ffd7093e",
    "parent_span_id": "a9c341adf927e9fd",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:02.949648Z",
    "timestamp": "2026-08-24T06:30:04.049528Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "80138c2bbfc79347",
    "parent_span_id": "bc4fae77ffd7093e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:02.950358Z",
    "timestamp": "2026-08-24T06:30:04.048136Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "ae31f102d7b186ef",
    "parent_span_id": "bcba192796ab114a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:04.300824Z",
    "timestamp": "2026-08-24T06:30:06.196582Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "b08eba5a1782c561",
    "parent_span_id": "ae31f102d7b186ef",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:04.301169Z",
    "timestamp": "2026-08-24T06:30:06.196043Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "b2457cc2e8e0870d",
    "parent_span_id": "a278fa79084f8245",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:06.519805Z",
    "timestamp": "2026-08-24T06:30:08.227687Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "b9059dc5a632814b",
    "parent_span_id": "b2457cc2e8e0870d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:06.520294Z",
    "timestamp": "2026-08-24T06:30:08.227012Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "b5e5522916d561ef",
    "parent_span_id": "8b416df471ef8498",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:08.447959Z",
    "timestamp": "2026-08-24T06:30:10.158532Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 120,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "span_id": "9b26e65f8ed0d9b4",
    "parent_span_id": "b5e5522916d561ef",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:08.448439Z",
    "timestamp": "2026-08-24T06:30:10.158005Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 120,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b2cf218c10653544",
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:02.916372Z",
    "timestamp": "2026-08-24T06:30:10.464727Z",
    "data": {
      "thread.id": "140468722707328",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a9c341adf927e9fd",
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "parent_span_id": "b2cf218c10653544",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553002.940475,
    "timestamp": 1787553004.196971,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.total_tokens": 98,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b2cf218c10653544",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bcba192796ab114a",
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "parent_span_id": "b2cf218c10653544",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553004.299461,
    "timestamp": 1787553006.405898,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"4 (in base-10). If you were using base 4, 2 + 2 would be 10_4.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 292,
      "gen_ai.usage.total_tokens": 316,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b2cf218c10653544",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a278fa79084f8245",
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "parent_span_id": "b2cf218c10653544",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553006.510328,
    "timestamp": 1787553008.339633,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin. Would you like more details about Berlin or Germany?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 218,
      "gen_ai.usage.total_tokens": 262,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b2cf218c10653544",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8b416df471ef8498",
    "trace_id": "9ed2def4fae24479a6a83ac0f49c99fb",
    "parent_span_id": "b2cf218c10653544",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553008.442622,
    "timestamp": 1787553010.363037,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140468722707328",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6. You can see it as doubling 3, since a + a = 2a, so 2 \\u00d7 3 = 6. Want a couple more quick examples?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 244,
      "gen_ai.usage.total_tokens": 294,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b2cf218c10653544",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (async, streaming, completion, anthropic)❗︎ 1⚠︎ 113375ms
checkAISpanCount(4)
checkChatSpanAttributes
81b5f743descriptionSpan 81b5f743: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
81b5f743gen_ai.request.modelSpan 81b5f743: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
b2f313e8descriptionSpan b2f313e8: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
b2f313e8gen_ai.request.modelSpan b2f313e8: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
a3e10782descriptionSpan a3e10782: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a3e10782gen_ai.request.modelSpan a3e10782: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
941f7febdescriptionSpan 941f7feb: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
941f7febgen_ai.request.modelSpan 941f7feb: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
81b5f743gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
b2f313e8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
a3e10782gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
941f7febgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4-5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "8316fdcdb890d101",
    "parent_span_id": "81b5f7432f120a46",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:03.601215Z",
    "timestamp": "2026-08-24T06:30:04.229289Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "a7a65770478b7cc8",
    "parent_span_id": "8316fdcdb890d101",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:03.602105Z",
    "timestamp": "2026-08-24T06:30:04.228465Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "a29bce6cd718ba29",
    "parent_span_id": "b2f313e8f5cb53db",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:04.352355Z",
    "timestamp": "2026-08-24T06:30:04.950544Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "83784eace06c01b3",
    "parent_span_id": "a29bce6cd718ba29",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:04.352758Z",
    "timestamp": "2026-08-24T06:30:04.950051Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 58,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "9d1d8371edd036bb",
    "parent_span_id": "a3e10782dbfc20ba",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:05.559689Z",
    "timestamp": "2026-08-24T06:30:06.678462Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "8815664ea3d86c1e",
    "parent_span_id": "9d1d8371edd036bb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:05.560173Z",
    "timestamp": "2026-08-24T06:30:06.678015Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "99ef99b47e4eade1",
    "parent_span_id": "941f7feb0e76a532",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:06.809180Z",
    "timestamp": "2026-08-24T06:30:07.347434Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 120,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "span_id": "a84f593dcf258a08",
    "parent_span_id": "99ef99b47e4eade1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:06.809597Z",
    "timestamp": "2026-08-24T06:30:07.346977Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 120,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8065e102079c712c",
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:03.405180Z",
    "timestamp": "2026-08-24T06:30:07.501356Z",
    "data": {
      "thread.id": "140188832754560",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "81b5f7432f120a46",
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "parent_span_id": "8065e102079c712c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553003.599602,
    "timestamp": 1787553004.249444,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140188669535936",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8065e102079c712c",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b2f313e8f5cb53db",
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "parent_span_id": "8065e102079c712c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553004.351474,
    "timestamp": 1787553005.456514,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140188669535936",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"2 + 2 = **4**\\n\\nThis is one of the most basic addition facts! If you have 2 of something and add 2 more, you end up with 4 total.\\n\\nIs there anything else you'd like help with?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 60,
      "gen_ai.usage.total_tokens": 83,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8065e102079c712c",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a3e10782dbfc20ba",
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "parent_span_id": "8065e102079c712c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553005.558694,
    "timestamp": 1787553006.706558,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140188669535936",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8065e102079c712c",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "941f7feb0e76a532",
    "trace_id": "7a666f56700946b7ac6a88a86e098ec9",
    "parent_span_id": "8065e102079c712c",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553006.808298,
    "timestamp": 1787553007.396577,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140188669535936",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": \"None\"}",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8065e102079c712c",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (async, streaming, responses, openai)❗︎ 1 116100ms
checkAISpanCount(4)
checkChatSpanAttributes
a19c9bf9gen_ai.usage.input_tokensSpan a19c9bf9: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
a19c9bf9gen_ai.usage.output_tokensSpan a19c9bf9: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b12b1ccbgen_ai.usage.input_tokensSpan b12b1ccb: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b12b1ccbgen_ai.usage.output_tokensSpan b12b1ccb: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
9c8f421dgen_ai.usage.input_tokensSpan 9c8f421d: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
9c8f421dgen_ai.usage.output_tokensSpan 9c8f421d: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
b377cdb1gen_ai.usage.input_tokensSpan b377cdb1: Attribute 'gen_ai.usage.input_tokens' must exist but is missing
b377cdb1gen_ai.usage.output_tokensSpan b377cdb1: Attribute 'gen_ai.usage.output_tokens' must exist but is missing
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
a19c9bf9gen_ai.usage.input_tokensinput_tokens must exist
a19c9bf9gen_ai.usage.output_tokensoutput_tokens must exist
a19c9bf9gen_ai.usage.total_tokenstotal_tokens must exist
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "82706c3ce9968f41",
    "parent_span_id": "a19c9bf9934a0118",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:03.792250Z",
    "timestamp": "2026-08-24T06:30:04.104676Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "8a40a0a2462e9b2f",
    "parent_span_id": "82706c3ce9968f41",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:03.792827Z",
    "timestamp": "2026-08-24T06:30:04.103570Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "adf94eeb8ad38326",
    "parent_span_id": "b12b1ccbabca89e1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:05.508649Z",
    "timestamp": "2026-08-24T06:30:05.711473Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "bf9fc5d9a4ee7df7",
    "parent_span_id": "adf94eeb8ad38326",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:05.509136Z",
    "timestamp": "2026-08-24T06:30:05.711035Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 55,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "8714f2aade6fab09",
    "parent_span_id": "9c8f421d1051839b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:07.791344Z",
    "timestamp": "2026-08-24T06:30:08.075665Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 79,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "b0ff9de4107655d9",
    "parent_span_id": "8714f2aade6fab09",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:07.796874Z",
    "timestamp": "2026-08-24T06:30:08.075068Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 79,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "89e0f9d16dc8ea45",
    "parent_span_id": "b377cdb1c7eb8e57",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:09.574192Z",
    "timestamp": "2026-08-24T06:30:09.805431Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 111,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "span_id": "9e7e7da3fbf911ec",
    "parent_span_id": "89e0f9d16dc8ea45",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:09.575639Z",
    "timestamp": "2026-08-24T06:30:09.804970Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 111,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a81fdd826fce69c2",
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:03.670289Z",
    "timestamp": "2026-08-24T06:30:11.705733Z",
    "data": {
      "thread.id": "140556223802240",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a19c9bf9934a0118",
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "parent_span_id": "a81fdd826fce69c2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553003.791719,
    "timestamp": 1787553005.348711,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a81fdd826fce69c2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b12b1ccbabca89e1",
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "parent_span_id": "a81fdd826fce69c2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553005.507953,
    "timestamp": 1787553007.658369,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a81fdd826fce69c2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c8f421d1051839b",
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "parent_span_id": "a81fdd826fce69c2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553007.790639,
    "timestamp": 1787553009.451706,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a81fdd826fce69c2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b377cdb1c7eb8e57",
    "trace_id": "661ade2bca374b099058c6dd029c32fc",
    "parent_span_id": "a81fdd826fce69c2",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553009.573533,
    "timestamp": 1787553011.559434,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140556223802240",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": true,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a81fdd826fce69c2",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (async, blocking, completion, openai)❗︎ 115188ms
checkAISpanCount(4)
checkChatSpanAttributes
87ead414gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
87ead414gen_ai.output.messagesMissing output messages attribute
93a7a683gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93a7a683gen_ai.output.messagesMissing output messages attribute
851b99f4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
851b99f4gen_ai.output.messagesMissing output messages attribute
bf5975d8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bf5975d8gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (17)
[
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "a66e0b6f11417e89",
    "parent_span_id": "87ead41452c5660e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:09.710799Z",
    "timestamp": "2026-08-24T06:30:09.715408Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20261
    },
    "data": {
      "thread.id": "140278463723200",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "99b313ac3183d176",
    "parent_span_id": "87ead41452c5660e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:09.715489Z",
    "timestamp": "2026-08-24T06:30:09.715636Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20261
    },
    "data": {
      "thread.id": "140278463723200",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "adc0c127d16f0019",
    "parent_span_id": "99b313ac3183d176",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:09.715578Z",
    "timestamp": "2026-08-24T06:30:09.715628Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20261
    },
    "data": {
      "thread.id": "140278463723200",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "8ed58a6e601a1b6c",
    "parent_span_id": "87ead41452c5660e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:09.715668Z",
    "timestamp": "2026-08-24T06:30:09.715681Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20261
    },
    "data": {
      "thread.id": "140278463723200",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "a10e3abcfc3b19ea",
    "parent_span_id": "87ead41452c5660e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:09.717799Z",
    "timestamp": "2026-08-24T06:30:11.054110Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "9ffb2f429eabb49e",
    "parent_span_id": "a10e3abcfc3b19ea",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:09.718636Z",
    "timestamp": "2026-08-24T06:30:11.052502Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "bf08e65d0ddf9558",
    "parent_span_id": "93a7a68333c51377",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:11.237057Z",
    "timestamp": "2026-08-24T06:30:13.378035Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "b5461439da84f8a5",
    "parent_span_id": "bf08e65d0ddf9558",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:11.237520Z",
    "timestamp": "2026-08-24T06:30:13.377249Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "bba7e35c629bf5ed",
    "parent_span_id": "851b99f4c1911d32",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:13.509756Z",
    "timestamp": "2026-08-24T06:30:15.394995Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "8d87c0793b3f0427",
    "parent_span_id": "bba7e35c629bf5ed",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:13.510296Z",
    "timestamp": "2026-08-24T06:30:15.394118Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "8f95b06fc08899b6",
    "parent_span_id": "bf5975d8874b3b84",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.522026Z",
    "timestamp": "2026-08-24T06:30:17.943310Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 96,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "span_id": "99ddc8ae598476fc",
    "parent_span_id": "8f95b06fc08899b6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.522943Z",
    "timestamp": "2026-08-24T06:30:17.942629Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 96,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "afec10edea155717",
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:09.669444Z",
    "timestamp": "2026-08-24T06:30:18.057046Z",
    "data": {
      "thread.id": "140278710524800",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "87ead41452c5660e",
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "parent_span_id": "afec10edea155717",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553009.702628,
    "timestamp": 1787553011.132313,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 138,
      "gen_ai.usage.total_tokens": 161,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "afec10edea155717",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "93a7a68333c51377",
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "parent_span_id": "afec10edea155717",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553011.235106,
    "timestamp": 1787553013.390141,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"4. If you\\u2019d like, I can show it step by step or show how it looks in other bases (e.g., binary: 10 + 10 = 100).\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 366,
      "gen_ai.usage.total_tokens": 390,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "afec10edea155717",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "851b99f4c1911d32",
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "parent_span_id": "afec10edea155717",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553013.49805,
    "timestamp": 1787553015.410199,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Berlin is the capital of Germany. If you\\u2019d like more details about Berlin or Germany, I can share them.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 224,
      "gen_ai.usage.total_tokens": 268,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "afec10edea155717",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bf5975d8874b3b84",
    "trace_id": "a76f817c830a437e91383c65abbde406",
    "parent_span_id": "afec10edea155717",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553015.513018,
    "timestamp": 1787553017.95169,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140278710524800",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6.\\n\\nYou can see it as doubling 3: 2 \\u00d7 3 = 6, or start at 3 on a number line and move 3 steps to arrive at 6. Want another one to practice?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"refusal\": \"None\"}, \"annotations\": []}",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 381,
      "gen_ai.usage.total_tokens": 431,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "afec10edea155717",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (async, blocking, completion, anthropic)❗︎ 1⚠︎ 19596ms
checkAISpanCount(4)
checkChatSpanAttributes
bb0ab9a4descriptionSpan bb0ab9a4: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
bb0ab9a4gen_ai.request.modelSpan bb0ab9a4: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
a0ef369edescriptionSpan a0ef369e: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
a0ef369egen_ai.request.modelSpan a0ef369e: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
8e334d8ddescriptionSpan 8e334d8d: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8e334d8dgen_ai.request.modelSpan 8e334d8d: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
8af4a202descriptionSpan 8af4a202: Attribute 'description' must equal 'chat anthropic/claude-haiku-4-5' but is 'chat claude-haiku-4-5'
8af4a202gen_ai.request.modelSpan 8af4a202: Attribute 'gen_ai.request.model' must equal 'claude-haiku-4-5' but is 'anthropic/claude-haiku-4-5'
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
bb0ab9a4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
a0ef369egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8e334d8dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
8af4a202gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "claude-haiku-4-5*"
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "b9785a896c7d6540",
    "parent_span_id": "bb0ab9a4acda126b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:09.124570Z",
    "timestamp": "2026-08-24T06:30:09.820139Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "b49b09b9687af961",
    "parent_span_id": "b9785a896c7d6540",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:09.125582Z",
    "timestamp": "2026-08-24T06:30:09.790914Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "92f710ae97111036",
    "parent_span_id": "a0ef369e962a32f2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:09.952351Z",
    "timestamp": "2026-08-24T06:30:11.019985Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "806328108d59c95b",
    "parent_span_id": "92f710ae97111036",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:09.952871Z",
    "timestamp": "2026-08-24T06:30:10.686863Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "8f96705048dbf8a4",
    "parent_span_id": "8e334d8d882d9a69",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:11.126363Z",
    "timestamp": "2026-08-24T06:30:11.863144Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "94ef04f33f2517e6",
    "parent_span_id": "8f96705048dbf8a4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:11.126818Z",
    "timestamp": "2026-08-24T06:30:11.763020Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "b5e02f8ec67c81ea",
    "parent_span_id": "8af4a2023d87b4f2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:11.974915Z",
    "timestamp": "2026-08-24T06:30:12.543699Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 96,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "fa2894612a4342d687d7248927033606",
    "span_id": "bcea7fca265384cd",
    "parent_span_id": "b5e02f8ec67c81ea",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://openrouter.ai/api/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:11.975365Z",
    "timestamp": "2026-08-24T06:30:12.532006Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://openrouter.ai/api/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 96,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-completion-anthropic.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b87208d7aebe37a8",
    "trace_id": "fa2894612a4342d687d7248927033606",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:08.777283Z",
    "timestamp": "2026-08-24T06:30:12.654018Z",
    "data": {
      "thread.id": "139837731621760",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bb0ab9a4acda126b",
    "trace_id": "fa2894612a4342d687d7248927033606",
    "parent_span_id": "b87208d7aebe37a8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553009.122786,
    "timestamp": 1787553009.850501,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139837491377856",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of France is Paris.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 20,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 30,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b87208d7aebe37a8",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a0ef369e962a32f2",
    "trace_id": "fa2894612a4342d687d7248927033606",
    "parent_span_id": "b87208d7aebe37a8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553009.950459,
    "timestamp": 1787553011.021786,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139837491377856",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"2 + 2 = **4**\\n\\nThat's one of the most fundamental addition facts! Is there anything else you'd like help with in math?\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 37,
      "gen_ai.usage.total_tokens": 60,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b87208d7aebe37a8",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8e334d8d882d9a69",
    "trace_id": "fa2894612a4342d687d7248927033606",
    "parent_span_id": "b87208d7aebe37a8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553011.124814,
    "timestamp": 1787553011.868084,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139837491377856",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}, {\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 37,
      "gen_ai.usage.output_tokens": 10,
      "gen_ai.usage.total_tokens": 47,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b87208d7aebe37a8",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8af4a2023d87b4f2",
    "trace_id": "fa2894612a4342d687d7248927033606",
    "parent_span_id": "b87208d7aebe37a8",
    "op": "gen_ai.chat",
    "description": "chat claude-haiku-4-5",
    "start_timestamp": 1787553011.971844,
    "timestamp": 1787553012.547198,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "139837491377856",
      "thread.name": "asyncio_0",
      "gen_ai.system": "anthropic",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"system\", \"content\": \"You are a math tutor.\"}, {\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "anthropic/claude-haiku-4-5",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "anthropic/claude-haiku-4.5",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6.\", \"role\": \"assistant\", \"tool_calls\": \"None\", \"function_call\": \"None\", \"provider_specific_fields\": {\"reasoning\": \"None\", \"refusal\": \"None\"}}",
      "gen_ai.usage.input_tokens": 49,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 63,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b87208d7aebe37a8",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/litellm :: Conversation ID LLM Test (async, blocking, responses, openai)❗︎ 114897ms
checkAISpanCount(4)
checkChatSpanAttributes
9d413c8egen_ai.output.messagesMissing output messages attribute
9a92f450gen_ai.output.messagesMissing output messages attribute
981be3acgen_ai.output.messagesMissing output messages attribute
84a4a6abgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "8e55a68e26d360ee",
    "parent_span_id": "9d413c8e2c71a03b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:10.783189Z",
    "timestamp": "2026-08-24T06:30:12.360186Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "a216f6d44d8cb604",
    "parent_span_id": "8e55a68e26d360ee",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:10.783984Z",
    "timestamp": "2026-08-24T06:30:12.324631Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 31,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "a4e56a41df0cca33",
    "parent_span_id": "9a92f45021fcc199",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:12.491908Z",
    "timestamp": "2026-08-24T06:30:14.687063Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "bafbe152e1210ffc",
    "parent_span_id": "a4e56a41df0cca33",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:12.492567Z",
    "timestamp": "2026-08-24T06:30:14.663058Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "97c0b9ce1a57e744",
    "parent_span_id": "981be3acd4f1c6bc",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:14.791649Z",
    "timestamp": "2026-08-24T06:30:16.593956Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "9503c40da1592511",
    "parent_span_id": "97c0b9ce1a57e744",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:14.791964Z",
    "timestamp": "2026-08-24T06:30:16.542201Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 63,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "8e13c1ea7d24eacf",
    "parent_span_id": "84a4a6ab33079191",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:16.700439Z",
    "timestamp": "2026-08-24T06:30:18.840752Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 87,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "span_id": "b884de8920b49c15",
    "parent_span_id": "8e13c1ea7d24eacf",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:16.700885Z",
    "timestamp": "2026-08-24T06:30:18.809990Z",
    "origin": "auto.http.aiohttp",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 87,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses-openai.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b54864f002cc2135",
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:10.761503Z",
    "timestamp": "2026-08-24T06:30:18.963063Z",
    "data": {
      "thread.id": "140215501515648",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9d413c8e2c71a03b",
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "parent_span_id": "b54864f002cc2135",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553010.782473,
    "timestamp": 1787553012.389233,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 194,
      "gen_ai.usage.total_tokens": 217,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b54864f002cc2135",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9a92f45021fcc199",
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "parent_span_id": "b54864f002cc2135",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553012.491188,
    "timestamp": 1787553014.694383,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 213,
      "gen_ai.usage.total_tokens": 237,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b54864f002cc2135",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "981be3acd4f1c6bc",
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "parent_span_id": "b54864f002cc2135",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553014.791157,
    "timestamp": 1787553016.597219,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 186,
      "gen_ai.usage.total_tokens": 230,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b54864f002cc2135",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "84a4a6ab33079191",
    "trace_id": "d14d45cf86e24d82b96071ce607603fd",
    "parent_span_id": "b54864f002cc2135",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553016.699744,
    "timestamp": 1787553018.844167,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.litellm",
      "thread.id": "140215501515648",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.operation.name": "chat",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.response.streaming": false,
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 284,
      "gen_ai.usage.total_tokens": 334,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b54864f002cc2135",
      "sentry.sdk.name": "sentry.python.aiohttp",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (sync, streaming, chat)❗︎ 17105ms
checkAISpanCount(1)
checkChatSpanAttributes
bc520529gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bc520529gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "span_id": "87ca661fb5d9fcaf",
    "parent_span_id": "bc520529f6633c48",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.842222Z",
    "timestamp": "2026-08-24T06:30:15.844067Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20351
    },
    "data": {
      "thread.id": "140407762873216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "span_id": "bb8f8e20fd4f3c0c",
    "parent_span_id": "bc520529f6633c48",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.844146Z",
    "timestamp": "2026-08-24T06:30:15.844986Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20351
    },
    "data": {
      "thread.id": "140407762873216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "span_id": "ac14267e20df9150",
    "parent_span_id": "bb8f8e20fd4f3c0c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.844834Z",
    "timestamp": "2026-08-24T06:30:15.844975Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20351
    },
    "data": {
      "thread.id": "140407762873216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "span_id": "8a1c249bf93f03d7",
    "parent_span_id": "bc520529f6633c48",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.845023Z",
    "timestamp": "2026-08-24T06:30:15.845039Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20351
    },
    "data": {
      "thread.id": "140407762873216",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "span_id": "b720d107268d10a4",
    "parent_span_id": "bc520529f6633c48",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.846278Z",
    "timestamp": "2026-08-24T06:30:16.960853Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140407762873216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a569fd20331bd6d5",
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.835654Z",
    "timestamp": "2026-08-24T06:30:17.008754Z",
    "data": {
      "thread.id": "140407762873216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bc520529f6633c48",
    "trace_id": "cc836a493b374968b19f8a1e8e3fd7cb",
    "parent_span_id": "a569fd20331bd6d5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553015.837396,
    "timestamp": 1787553017.008712,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140407762873216",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.1269321620000028,
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 98,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a569fd20331bd6d5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (sync, streaming, responses)❗︎ 17168ms
checkAISpanCount(1)
checkChatSpanAttributes
864a78dfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
864a78dfgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "span_id": "b4043d272147fd4d",
    "parent_span_id": "864a78df9971f9f2",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.848561Z",
    "timestamp": "2026-08-24T06:30:15.851878Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20354
    },
    "data": {
      "thread.id": "140446983740288",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "span_id": "b2bb09e98c4c735d",
    "parent_span_id": "864a78df9971f9f2",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.851948Z",
    "timestamp": "2026-08-24T06:30:15.852434Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20354
    },
    "data": {
      "thread.id": "140446983740288",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "span_id": "85aac2f32c99b2e2",
    "parent_span_id": "b2bb09e98c4c735d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.852393Z",
    "timestamp": "2026-08-24T06:30:15.852427Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20354
    },
    "data": {
      "thread.id": "140446983740288",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "span_id": "972fd871019fcce7",
    "parent_span_id": "864a78df9971f9f2",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.852464Z",
    "timestamp": "2026-08-24T06:30:15.852476Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20354
    },
    "data": {
      "thread.id": "140446983740288",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "span_id": "b48275da9295eabc",
    "parent_span_id": "864a78df9971f9f2",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:15.853590Z",
    "timestamp": "2026-08-24T06:30:16.160231Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140446983740288",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aa2c6f5cb77d80dc",
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.832300Z",
    "timestamp": "2026-08-24T06:30:17.033674Z",
    "data": {
      "thread.id": "140446983740288",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "864a78df9971f9f2",
    "trace_id": "e910078bb37a4e16b9638866a7b3aaa3",
    "parent_span_id": "aa2c6f5cb77d80dc",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553015.836098,
    "timestamp": 1787553017.033586,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140446983740288",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 93,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 116,
      "gen_ai.response.time_to_first_token": 0.8899388620000082,
      "gen_ai.response.text": "Paris.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "aa2c6f5cb77d80dc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (sync, blocking, chat)❗︎ 17065ms
checkAISpanCount(1)
checkChatSpanAttributes
89137dacgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89137dacgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "span_id": "99abc0ac8d747708",
    "parent_span_id": "89137dacefaca584",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.859770Z",
    "timestamp": "2026-08-24T06:30:15.862460Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20359
    },
    "data": {
      "thread.id": "140180710394752",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "span_id": "84dfef1718a67d3a",
    "parent_span_id": "89137dacefaca584",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.862540Z",
    "timestamp": "2026-08-24T06:30:15.862691Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20359
    },
    "data": {
      "thread.id": "140180710394752",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "span_id": "a4bf1436a0a0f9f8",
    "parent_span_id": "84dfef1718a67d3a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.862653Z",
    "timestamp": "2026-08-24T06:30:15.862684Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20359
    },
    "data": {
      "thread.id": "140180710394752",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "span_id": "847fe405635ca64b",
    "parent_span_id": "89137dacefaca584",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.862720Z",
    "timestamp": "2026-08-24T06:30:15.862732Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20359
    },
    "data": {
      "thread.id": "140180710394752",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "span_id": "94b9adb0529ca4ce",
    "parent_span_id": "89137dacefaca584",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.863817Z",
    "timestamp": "2026-08-24T06:30:17.092445Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140180710394752",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "93e451cd6fa605cc",
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.855418Z",
    "timestamp": "2026-08-24T06:30:17.101680Z",
    "data": {
      "thread.id": "140180710394752",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "89137dacefaca584",
    "trace_id": "1b918faa0c3940f19da16898e8d1355e",
    "parent_span_id": "93e451cd6fa605cc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553015.856108,
    "timestamp": 1787553017.101628,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140180710394752",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 98,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "93e451cd6fa605cc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (sync, blocking, responses)❗︎ 17452ms
checkAISpanCount(1)
checkChatSpanAttributes
abdcbfbcgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
abdcbfbcgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "span_id": "acde3b38961ff819",
    "parent_span_id": "abdcbfbc091e04a3",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.856183Z",
    "timestamp": "2026-08-24T06:30:15.858912Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20358
    },
    "data": {
      "thread.id": "139874337291136",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "span_id": "84f58d4d67ae0294",
    "parent_span_id": "abdcbfbc091e04a3",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.858991Z",
    "timestamp": "2026-08-24T06:30:15.859118Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20358
    },
    "data": {
      "thread.id": "139874337291136",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "span_id": "bba9c50f4d8bebbf",
    "parent_span_id": "84f58d4d67ae0294",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.859082Z",
    "timestamp": "2026-08-24T06:30:15.859112Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20358
    },
    "data": {
      "thread.id": "139874337291136",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "span_id": "afcf8b97ae2fb4a1",
    "parent_span_id": "abdcbfbc091e04a3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.859151Z",
    "timestamp": "2026-08-24T06:30:15.859165Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20358
    },
    "data": {
      "thread.id": "139874337291136",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "span_id": "a7abefcdc881c183",
    "parent_span_id": "abdcbfbc091e04a3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:15.860386Z",
    "timestamp": "2026-08-24T06:30:17.466145Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139874337291136",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b54d21a1f023d58b",
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.844805Z",
    "timestamp": "2026-08-24T06:30:17.543955Z",
    "data": {
      "thread.id": "139874337291136",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "abdcbfbc091e04a3",
    "trace_id": "160b52009b2a424eb9bbcdb0fd6ac886",
    "parent_span_id": "b54d21a1f023d58b",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553015.845534,
    "timestamp": 1787553017.543907,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139874337291136",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris. If you’d like, I can share some fun facts about the city.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 133,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 156,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "b54d21a1f023d58b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (async, streaming, chat)❗︎ 16151ms
checkAISpanCount(1)
checkChatSpanAttributes
855d75d4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
855d75d4gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "span_id": "b532e3bfc63c99fd",
    "parent_span_id": "855d75d43c85f58b",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.768477Z",
    "timestamp": "2026-08-24T06:30:15.770178Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20344
    },
    "data": {
      "thread.id": "140469388441280",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "span_id": "8439f85f4432b25a",
    "parent_span_id": "855d75d43c85f58b",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.770245Z",
    "timestamp": "2026-08-24T06:30:15.770361Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20344
    },
    "data": {
      "thread.id": "140469388441280",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "span_id": "ab5e6fe6122d0eeb",
    "parent_span_id": "8439f85f4432b25a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.770327Z",
    "timestamp": "2026-08-24T06:30:15.770354Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20344
    },
    "data": {
      "thread.id": "140469388441280",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "span_id": "91a04e3ec0e0aba6",
    "parent_span_id": "855d75d43c85f58b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.770390Z",
    "timestamp": "2026-08-24T06:30:15.770402Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20344
    },
    "data": {
      "thread.id": "140469388441280",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "span_id": "80db4eda8493ebcb",
    "parent_span_id": "855d75d43c85f58b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.771793Z",
    "timestamp": "2026-08-24T06:30:16.820936Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140469548927872",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aa1b0089fb89d62e",
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.763237Z",
    "timestamp": "2026-08-24T06:30:16.855586Z",
    "data": {
      "thread.id": "140469548927872",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "855d75d43c85f58b",
    "trace_id": "f1ad4d26b7c34391901a763a51f3ca80",
    "parent_span_id": "aa1b0089fb89d62e",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553015.76425,
    "timestamp": 1787553016.854562,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140469548927872",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.060573383000019,
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 75,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 98,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "aa1b0089fb89d62e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (async, streaming, responses)❗︎ 16633ms
checkAISpanCount(1)
checkChatSpanAttributes
a8e748cdgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a8e748cdgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "span_id": "a882c4983dade201",
    "parent_span_id": "a8e748cdfa712ac3",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.863245Z",
    "timestamp": "2026-08-24T06:30:15.864439Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20361
    },
    "data": {
      "thread.id": "140545820391104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "span_id": "9d060990e73cdd40",
    "parent_span_id": "a8e748cdfa712ac3",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.864510Z",
    "timestamp": "2026-08-24T06:30:15.865065Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20361
    },
    "data": {
      "thread.id": "140545820391104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "span_id": "a38fada1a5987c4e",
    "parent_span_id": "9d060990e73cdd40",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.865018Z",
    "timestamp": "2026-08-24T06:30:15.865056Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20361
    },
    "data": {
      "thread.id": "140545820391104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "span_id": "b29137a985566959",
    "parent_span_id": "a8e748cdfa712ac3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.865091Z",
    "timestamp": "2026-08-24T06:30:15.865102Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20361
    },
    "data": {
      "thread.id": "140545820391104",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "span_id": "85c7c14bb57f98f3",
    "parent_span_id": "a8e748cdfa712ac3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:15.866335Z",
    "timestamp": "2026-08-24T06:30:16.373658Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140545900186496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a4267c5bb1936782",
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.854524Z",
    "timestamp": "2026-08-24T06:30:18.132029Z",
    "data": {
      "thread.id": "140545900186496",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a8e748cdfa712ac3",
    "trace_id": "5c7748b8d89c47aba4dd58492d0b2079",
    "parent_span_id": "a4267c5bb1936782",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553015.856448,
    "timestamp": 1787553018.128492,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140545900186496",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 128,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 151,
      "gen_ai.response.time_to_first_token": 1.9636213139999654,
      "gen_ai.response.text": "Paris",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "a4267c5bb1936782",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (async, blocking, chat)❗︎ 15997ms
checkAISpanCount(1)
checkChatSpanAttributes
939f2c58gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
939f2c58gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "span_id": "ba050ab635901bff",
    "parent_span_id": "939f2c589ef4e677",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.767850Z",
    "timestamp": "2026-08-24T06:30:15.769884Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20343
    },
    "data": {
      "thread.id": "140111403538112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "span_id": "92042609f26faafe",
    "parent_span_id": "939f2c589ef4e677",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.769962Z",
    "timestamp": "2026-08-24T06:30:15.770087Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20343
    },
    "data": {
      "thread.id": "140111403538112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "span_id": "85c6cbc27ee6c98d",
    "parent_span_id": "92042609f26faafe",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.770050Z",
    "timestamp": "2026-08-24T06:30:15.770081Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20343
    },
    "data": {
      "thread.id": "140111403538112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "span_id": "af625e38255e25c3",
    "parent_span_id": "939f2c589ef4e677",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.770113Z",
    "timestamp": "2026-08-24T06:30:15.770124Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20343
    },
    "data": {
      "thread.id": "140111403538112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "span_id": "b13b551d4a4d83c4",
    "parent_span_id": "939f2c589ef4e677",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.771577Z",
    "timestamp": "2026-08-24T06:30:17.750548Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140111481600896",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ae24340c88e12af9",
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.762480Z",
    "timestamp": "2026-08-24T06:30:17.770123Z",
    "data": {
      "thread.id": "140111481600896",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "939f2c589ef4e677",
    "trace_id": "ac6c1fa3e35945f099c438e2f555b6b1",
    "parent_span_id": "ae24340c88e12af9",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553015.763566,
    "timestamp": 1787553017.76879,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140111481600896",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris. It\\u2019s the capital and largest city of France, located in the north-central part of the country along the Seine. Would you like more details?\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 232,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 255,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "ae24340c88e12af9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Basic LLM Test (async, blocking, responses)❗︎ 15406ms
checkAISpanCount(1)
checkChatSpanAttributes
b3412b60gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3412b60gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "span_id": "bd8c7666c840e757",
    "parent_span_id": "b3412b6045056abe",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.843643Z",
    "timestamp": "2026-08-24T06:30:15.845509Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20352
    },
    "data": {
      "thread.id": "139930142889664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "span_id": "83a580192c28135e",
    "parent_span_id": "b3412b6045056abe",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.845578Z",
    "timestamp": "2026-08-24T06:30:15.845732Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20352
    },
    "data": {
      "thread.id": "139930142889664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "span_id": "869f9822e05be772",
    "parent_span_id": "83a580192c28135e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.845692Z",
    "timestamp": "2026-08-24T06:30:15.845725Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20352
    },
    "data": {
      "thread.id": "139930142889664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "span_id": "b79f617efaef2064",
    "parent_span_id": "b3412b6045056abe",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.845762Z",
    "timestamp": "2026-08-24T06:30:15.845775Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20352
    },
    "data": {
      "thread.id": "139930142889664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "span_id": "aabe501c16163447",
    "parent_span_id": "b3412b6045056abe",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:15.847209Z",
    "timestamp": "2026-08-24T06:30:17.353225Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139930220673920",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-basic-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aab08d4ed755dcd9",
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "parent_span_id": null,
    "op": "test",
    "description": "Basic LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.830585Z",
    "timestamp": "2026-08-24T06:30:17.404101Z",
    "data": {
      "thread.id": "139930220673920",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b3412b6045056abe",
    "trace_id": "16ba928bbdc547dd90d675cc6eb38479",
    "parent_span_id": "aab08d4ed755dcd9",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553015.833676,
    "timestamp": 1787553017.402896,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139930220673920",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris. Would you like more information about the city?",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 167,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 190,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Basic LLM Test",
      "sentry.segment.id": "aab08d4ed755dcd9",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (sync, streaming, chat)❗︎ 125129ms
checkAISpanCount(3)
checkChatSpanAttributes
85991479gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85991479gen_ai.output.messagesMissing output messages attribute
a82fcb71gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a82fcb71gen_ai.output.messagesMissing output messages attribute
bb3799b3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb3799b3gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "b538543c00522d13",
    "parent_span_id": "859914799d0f6c4e",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.832135Z",
    "timestamp": "2026-08-24T06:30:15.836710Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20348
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "aa1f994ab4b5d91f",
    "parent_span_id": "859914799d0f6c4e",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.836783Z",
    "timestamp": "2026-08-24T06:30:15.836910Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20348
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "87b80e7c379a5724",
    "parent_span_id": "aa1f994ab4b5d91f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.836871Z",
    "timestamp": "2026-08-24T06:30:15.836903Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20348
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "aaf615b40564677c",
    "parent_span_id": "859914799d0f6c4e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.836939Z",
    "timestamp": "2026-08-24T06:30:15.836951Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20348
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "af0f5579fc8d854c",
    "parent_span_id": "859914799d0f6c4e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:15.838308Z",
    "timestamp": "2026-08-24T06:30:17.978008Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "856003b8a8afbcda",
    "parent_span_id": "a82fcb7134973384",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:18.121173Z",
    "timestamp": "2026-08-24T06:30:25.643370Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 51,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "span_id": "aaab749993665b5e",
    "parent_span_id": "bb3799b3d4e50f83",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:26.152750Z",
    "timestamp": "2026-08-24T06:30:36.647084Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 85,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "aa7ed18c5fc4c5fc",
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.824263Z",
    "timestamp": "2026-08-24T06:30:37.571721Z",
    "data": {
      "thread.id": "140080149920640",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "859914799d0f6c4e",
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "parent_span_id": "aa7ed18c5fc4c5fc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553015.828953,
    "timestamp": 1787553018.10964,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140080149920640",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 2.161729467999976,
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 162,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "aa7ed18c5fc4c5fc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a82fcb7134973384",
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "parent_span_id": "aa7ed18c5fc4c5fc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553018.109747,
    "timestamp": 1787553026.151117,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140080149920640",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 7.534247715999982,
      "gen_ai.response.text": "Do you mean the city proper or the wider metro area? Here are the common figures:\n\n- Paris (city proper, the municipality): about 2.1 million people.\n- Paris metropolitan area (Île-de-France region): about 12 million people.\n- Paris urban area (aire urbaine): about 11–12 million people.\n\nPopulation figures vary by year and definition. If you want, I can give exact numbers from INSEE for a specific definition and year.",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1386,
      "gen_ai.usage.output_tokens.reasoning": 1280,
      "gen_ai.usage.total_tokens": 1434,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "aa7ed18c5fc4c5fc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb3799b3d4e50f83",
    "trace_id": "a927c85149f74ecea487cec44ee34f74",
    "parent_span_id": "aa7ed18c5fc4c5fc",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553026.151204,
    "timestamp": 1787553037.571663,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140080149920640",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 10.497627761999865,
      "gen_ai.response.text": "If by “metropolitan area” you mean the Paris metropolitan area, the population is about 12 million people, but the exact number depends on the definition used.\n\n- Paris urban area (aire urbaine): roughly 12–13 million people.\n- Île-de-France region (the broader metropolitan region around Paris): about 12–13 million people as well (latest estimates around 12.5–12.8 million).\n\nIf you have a specific definition or year in mind (e.g., INSEE’s aire urbaine vs. OECD’s functional urban area), I can give a more precise figure.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 2118,
      "gen_ai.usage.output_tokens.reasoning": 1984,
      "gen_ai.usage.total_tokens": 2199,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "aa7ed18c5fc4c5fc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (sync, streaming, responses)❗︎ 122979ms
checkAISpanCount(3)
checkChatSpanAttributes
85dd1ae3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85dd1ae3gen_ai.output.messagesMissing output messages attribute
8867d1eagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8867d1eagen_ai.output.messagesMissing output messages attribute
95affba1gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
95affba1gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "9b9e32d6043bde4a",
    "parent_span_id": "85dd1ae31293a448",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:15.864489Z",
    "timestamp": "2026-08-24T06:30:15.865556Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20362
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "aed7d611743adf6a",
    "parent_span_id": "85dd1ae31293a448",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.865642Z",
    "timestamp": "2026-08-24T06:30:15.866087Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20362
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "bacef127bf4de4f7",
    "parent_span_id": "aed7d611743adf6a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.866047Z",
    "timestamp": "2026-08-24T06:30:15.866080Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20362
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "99d4953ee6c1feb3",
    "parent_span_id": "85dd1ae31293a448",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:15.866113Z",
    "timestamp": "2026-08-24T06:30:15.866123Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20362
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "bc3a097a35b0646e",
    "parent_span_id": "85dd1ae31293a448",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:15.866976Z",
    "timestamp": "2026-08-24T06:30:16.167981Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "9ac2274665a9c45f",
    "parent_span_id": "8867d1eadc295872",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:17.583810Z",
    "timestamp": "2026-08-24T06:30:17.849383Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 47,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "span_id": "ab37cba1c9d993c8",
    "parent_span_id": "95affba1e616c022",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:23.585168Z",
    "timestamp": "2026-08-24T06:30:23.864788Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 77,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b73934e9dcdb5aec",
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:15.856138Z",
    "timestamp": "2026-08-24T06:30:36.831794Z",
    "data": {
      "thread.id": "140037298215808",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "85dd1ae31293a448",
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "parent_span_id": "b73934e9dcdb5aec",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553015.858388,
    "timestamp": 1787553017.581552,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140037298215808",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 200,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 223,
      "gen_ai.response.time_to_first_token": 1.3784827990000394,
      "gen_ai.response.text": "The capital of France is Paris.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b73934e9dcdb5aec",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8867d1eadc295872",
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "parent_span_id": "b73934e9dcdb5aec",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553017.58169,
    "timestamp": 1787553023.582619,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140037298215808",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1071,
      "gen_ai.usage.output_tokens.reasoning": 960,
      "gen_ai.usage.total_tokens": 1119,
      "gen_ai.response.time_to_first_token": 5.3851417999999285,
      "gen_ai.response.text": "Do you mean:\n\n- Paris city proper (the commune): about 2.2 million people.\n- Paris metropolitan area (the urban/metro area): around 12 million.\n- Île-de-France region (the wider region): about 12–13 million.\n\nIf you specify which definition and year you want, I can give a precise figure.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b73934e9dcdb5aec",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "95affba1e616c022",
    "trace_id": "7e2783a135f34cd48b10128a83d929b9",
    "parent_span_id": "b73934e9dcdb5aec",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553023.582721,
    "timestamp": 1787553036.831727,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140037298215808",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 2390,
      "gen_ai.usage.output_tokens.reasoning": 2240,
      "gen_ai.usage.total_tokens": 2471,
      "gen_ai.response.time_to_first_token": 12.25451839099992,
      "gen_ai.response.text": "It depends on the definition, but in common usage Paris’s metro area is around 12–13 million people.\n\n- Paris urban area (aire urbaine): about 12.5 million.\n- Île-de-France region (the city plus its suburbs): roughly 12.8–13.0 million.\n\nIf you have a specific definition or year in mind (e.g., Eurostat Functional Urban Area or a particular census year), tell me and I’ll give the exact figure.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b73934e9dcdb5aec",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (sync, blocking, chat)❗︎ 119517ms
checkAISpanCount(3)
checkChatSpanAttributes
ad75d55bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ad75d55bgen_ai.output.messagesMissing output messages attribute
9c61f1b0gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c61f1b0gen_ai.output.messagesMissing output messages attribute
8c22daf2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c22daf2gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "a2f0cdb4ae38ff98",
    "parent_span_id": "ad75d55bbfd39eb4",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:19.278357Z",
    "timestamp": "2026-08-24T06:30:19.279594Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20409
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "9d8028d48189b365",
    "parent_span_id": "ad75d55bbfd39eb4",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.279682Z",
    "timestamp": "2026-08-24T06:30:19.280576Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20409
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "a93d748a72579d13",
    "parent_span_id": "9d8028d48189b365",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.280424Z",
    "timestamp": "2026-08-24T06:30:19.280564Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20409
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "8063ff42b9231b46",
    "parent_span_id": "ad75d55bbfd39eb4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.280630Z",
    "timestamp": "2026-08-24T06:30:19.280645Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20409
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "8b8e6f7e0bed59b5",
    "parent_span_id": "ad75d55bbfd39eb4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:19.281890Z",
    "timestamp": "2026-08-24T06:30:20.548991Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "bc0b033c327ad11e",
    "parent_span_id": "9c61f1b09a319c9c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:20.559526Z",
    "timestamp": "2026-08-24T06:30:29.863454Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 43,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "span_id": "88a2e9bfb1ba8e07",
    "parent_span_id": "8c22daf2634fb776",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:29.865560Z",
    "timestamp": "2026-08-24T06:30:36.372466Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 69,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b1b78f1f59742837",
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:19.271095Z",
    "timestamp": "2026-08-24T06:30:36.373004Z",
    "data": {
      "thread.id": "140596453530496",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ad75d55bbfd39eb4",
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "parent_span_id": "b1b78f1f59742837",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553019.274951,
    "timestamp": 1787553020.557323,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140596453530496",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 162,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b1b78f1f59742837",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9c61f1b09a319c9c",
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "parent_span_id": "b1b78f1f59742837",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553020.55742,
    "timestamp": 1787553029.864043,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140596453530496",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Do you mean Paris proper (the city itself) or the wider Paris area?\\n\\n- Paris proper: about 2.1 million people.\\n- Paris metropolitan area (\\u00cele-de-France): about 12 million people.\\n- Paris urban area (continuous built-up area around Paris): roughly 10\\u201311 million.\\n\\nIf you\\u2019d like, I can give the latest exact figures and the year they\\u2019re from.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1628,
      "gen_ai.usage.output_tokens.reasoning": 1536,
      "gen_ai.usage.total_tokens": 1676,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b1b78f1f59742837",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8c22daf2634fb776",
    "trace_id": "a87b64fd505945feaf54bac9244a7ac6",
    "parent_span_id": "b1b78f1f59742837",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553029.864111,
    "timestamp": 1787553036.37297,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140596453530496",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"The Paris metropolitan area (the Paris urban area, or aire urbaine) has about 12 to 13 million inhabitants, depending on the definition and year. A commonly cited figure is roughly 12.5 million. If you want a precise number, tell me which definition and year you\\u2019d like.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1223,
      "gen_ai.usage.output_tokens.reasoning": 1152,
      "gen_ai.usage.total_tokens": 1304,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "b1b78f1f59742837",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (sync, blocking, responses)❗︎ 120970ms
checkAISpanCount(3)
checkChatSpanAttributes
aab2b537gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aab2b537gen_ai.output.messagesMissing output messages attribute
b0e70a3egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b0e70a3egen_ai.output.messagesMissing output messages attribute
ba08235bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ba08235bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "8728cb2d275fbe9f",
    "parent_span_id": "aab2b537ec47a0eb",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:18.738048Z",
    "timestamp": "2026-08-24T06:30:18.740132Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20396
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "afce3d27eab92996",
    "parent_span_id": "aab2b537ec47a0eb",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:18.740209Z",
    "timestamp": "2026-08-24T06:30:18.740332Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20396
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "a7a1b681396f11f7",
    "parent_span_id": "afce3d27eab92996",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:18.740295Z",
    "timestamp": "2026-08-24T06:30:18.740327Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20396
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "96d780fc11d7715a",
    "parent_span_id": "aab2b537ec47a0eb",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:18.740362Z",
    "timestamp": "2026-08-24T06:30:18.740375Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20396
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "b21ebea8299b5a04",
    "parent_span_id": "aab2b537ec47a0eb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:18.741496Z",
    "timestamp": "2026-08-24T06:30:19.902148Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "aa250e4ed77b4f13",
    "parent_span_id": "b0e70a3e67ed1253",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:20.118546Z",
    "timestamp": "2026-08-24T06:30:29.368339Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 39,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "span_id": "b56a1c20f3149b3a",
    "parent_span_id": "ba08235bf5045abb",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:29.371802Z",
    "timestamp": "2026-08-24T06:30:37.944642Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 61,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9d60b21311a81cfb",
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:18.731043Z",
    "timestamp": "2026-08-24T06:30:37.945433Z",
    "data": {
      "thread.id": "140222330055552",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "aab2b537ec47a0eb",
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "parent_span_id": "9d60b21311a81cfb",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553018.73195,
    "timestamp": 1787553020.116379,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140222330055552",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 91,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 114,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9d60b21311a81cfb",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b0e70a3e67ed1253",
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "parent_span_id": "9d60b21311a81cfb",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553020.116488,
    "timestamp": 1787553029.369412,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140222330055552",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "There are a couple of ways to count it:\n\n- Paris city proper (the municipality): about 2.1 million people.\n- Paris metropolitan area / urban area: about 12 million people.\n\nPopulation figures vary by definition and year. Would you like a precise figure for a specific year or for a particular measure (city proper vs metro area)?",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1463,
      "gen_ai.usage.output_tokens.reasoning": 1344,
      "gen_ai.usage.total_tokens": 1511,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9d60b21311a81cfb",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ba08235bf5045abb",
    "trace_id": "295314e4da9e4cd2b46ecd3f257b6738",
    "parent_span_id": "9d60b21311a81cfb",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553029.369515,
    "timestamp": 1787553037.945383,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140222330055552",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "The Paris metropolitan area has about 12 million people. Definitions vary, so figures differ:\n\n- Paris urban area (aire urbaine): roughly 12 million.\n- Île-de-France region (administrative region): around 12.3 million.\n- Métropole du Grand Paris (the inner intercommunal area): about 7–8 million.\n\nIf you want a precise number, tell me which definition and year you have in mind and I’ll pull the exact figure.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1559,
      "gen_ai.usage.output_tokens.reasoning": 1408,
      "gen_ai.usage.total_tokens": 1640,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9d60b21311a81cfb",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (async, streaming, chat)❗︎ 120212ms
checkAISpanCount(3)
checkChatSpanAttributes
9cf7032agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9cf7032agen_ai.output.messagesMissing output messages attribute
ab1350c3gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ab1350c3gen_ai.output.messagesMissing output messages attribute
89175092gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89175092gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "8ea8f40888555432",
    "parent_span_id": "9cf7032a758940cc",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:19.017791Z",
    "timestamp": "2026-08-24T06:30:19.022725Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20403
    },
    "data": {
      "thread.id": "139824793507520",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "b0002af238be313c",
    "parent_span_id": "9cf7032a758940cc",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.022796Z",
    "timestamp": "2026-08-24T06:30:19.022914Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20403
    },
    "data": {
      "thread.id": "139824793507520",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "8d2936189d3565ea",
    "parent_span_id": "b0002af238be313c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.022879Z",
    "timestamp": "2026-08-24T06:30:19.022908Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20403
    },
    "data": {
      "thread.id": "139824793507520",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "83426b60c4737d0b",
    "parent_span_id": "9cf7032a758940cc",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.022937Z",
    "timestamp": "2026-08-24T06:30:19.022946Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20403
    },
    "data": {
      "thread.id": "139824793507520",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "85029aca3d158f79",
    "parent_span_id": "9cf7032a758940cc",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:19.024342Z",
    "timestamp": "2026-08-24T06:30:20.931815Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139824871349120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "8b3c2c52679dae40",
    "parent_span_id": "ab1350c3b4f2c54a",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:21.003731Z",
    "timestamp": "2026-08-24T06:30:27.898798Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139824871349120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 52,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "span_id": "ab70265dc592fdf3",
    "parent_span_id": "891750923267d92f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:28.404505Z",
    "timestamp": "2026-08-24T06:30:36.567327Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139824871349120",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 86,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "90b6256f31c24c99",
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:19.007392Z",
    "timestamp": "2026-08-24T06:30:37.262430Z",
    "data": {
      "thread.id": "139824871349120",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9cf7032a758940cc",
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "parent_span_id": "90b6256f31c24c99",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553019.011858,
    "timestamp": 1787553021.00215,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139824871349120",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.9272951210000429,
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 267,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 290,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "90b6256f31c24c99",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "ab1350c3b4f2c54a",
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "parent_span_id": "90b6256f31c24c99",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553021.002238,
    "timestamp": 1787553028.402046,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139824871349120",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 6.897219177999887,
      "gen_ai.response.text": "Paris proper (the city itself) has about 2.1 million residents—roughly 2.15 million in recent estimates.\n\nIf you were asking about the wider area:\n- Paris urban area (continuous built-up area): about 12 million people.\n- Île-de-France metropolitan area: roughly 12–13 million.\n\nIf you want a precise figure for a specific definition or year, tell me which metric you prefer and I’ll look up the latest numbers.",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1385,
      "gen_ai.usage.output_tokens.reasoning": 1280,
      "gen_ai.usage.total_tokens": 1433,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "90b6256f31c24c99",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "891750923267d92f",
    "trace_id": "1c0abdbfd9b04cef98cb3309d3f27a88",
    "parent_span_id": "90b6256f31c24c99",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553028.402153,
    "timestamp": 1787553037.261031,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139824871349120",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 8.16575381000007,
      "gen_ai.response.text": "There are a few different ways to define the “metropolitan area” of Paris. Here are the common ones and approximate populations (latest figures are around 2020s):\n\n- Paris urban area / aire urbaine (the wider continuous urban area): about 12 to 13 million people.\n- Île-de-France region (administrative region around Paris): about 12.5 to 13 million people.\n- Métropole du Grand Paris (the intercommunal metropolis of 131 municipalities around Paris): about 7 to 7.5 million people.\n\nIf you tell me which definition you want (and the year), I can give a more exact figure.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1681,
      "gen_ai.usage.output_tokens.reasoning": 1536,
      "gen_ai.usage.total_tokens": 1762,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "90b6256f31c24c99",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (async, streaming, responses)❗︎ 117995ms
checkAISpanCount(3)
checkChatSpanAttributes
aae7dce6gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
aae7dce6gen_ai.output.messagesMissing output messages attribute
84ba23a4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
84ba23a4gen_ai.output.messagesMissing output messages attribute
bde57447gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bde57447gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "b243f3b1d2c12bb1",
    "parent_span_id": "aae7dce6e88b33df",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:19.194717Z",
    "timestamp": "2026-08-24T06:30:19.196572Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20407
    },
    "data": {
      "thread.id": "139639272101568",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "beff4f7c2091c718",
    "parent_span_id": "aae7dce6e88b33df",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.196673Z",
    "timestamp": "2026-08-24T06:30:19.196790Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20407
    },
    "data": {
      "thread.id": "139639272101568",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "82baeb11166e577b",
    "parent_span_id": "beff4f7c2091c718",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.196754Z",
    "timestamp": "2026-08-24T06:30:19.196784Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20407
    },
    "data": {
      "thread.id": "139639272101568",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "a6fa1667537802df",
    "parent_span_id": "aae7dce6e88b33df",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.196816Z",
    "timestamp": "2026-08-24T06:30:19.196827Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20407
    },
    "data": {
      "thread.id": "139639272101568",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "bbdbdc7464a9d948",
    "parent_span_id": "aae7dce6e88b33df",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:19.198087Z",
    "timestamp": "2026-08-24T06:30:19.541459Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139639351253888",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "88c08cf0e7e4a322",
    "parent_span_id": "84ba23a49ccdcc60",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:20.475804Z",
    "timestamp": "2026-08-24T06:30:20.736938Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139639351253888",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 48,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "span_id": "a6d7b258b691cdb1",
    "parent_span_id": "bde5744781e6c348",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:27.149900Z",
    "timestamp": "2026-08-24T06:30:27.427724Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139639351253888",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 78,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9d3cc3f33ffb636f",
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:19.187759Z",
    "timestamp": "2026-08-24T06:30:35.039205Z",
    "data": {
      "thread.id": "139639351253888",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "aae7dce6e88b33df",
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "parent_span_id": "9d3cc3f33ffb636f",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553019.188905,
    "timestamp": 1787553020.47367,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139639351253888",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 112,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 135,
      "gen_ai.response.time_to_first_token": 1.2613993340000889,
      "gen_ai.response.text": "Paris. It is the capital and largest city of France.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9d3cc3f33ffb636f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "84ba23a49ccdcc60",
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "parent_span_id": "9d3cc3f33ffb636f",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553020.473826,
    "timestamp": 1787553027.148271,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139639351253888",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1119,
      "gen_ai.usage.output_tokens.reasoning": 1024,
      "gen_ai.usage.total_tokens": 1167,
      "gen_ai.response.time_to_first_token": 5.77910811400011,
      "gen_ai.response.text": "Paris city proper has about 2.1 million residents (roughly 2.15–2.2 million in recent counts). The wider Paris metropolitan area (Île-de-France) is about 12 million people. If you want a precise figure, tell me which definition and year you’re looking for.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9d3cc3f33ffb636f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bde5744781e6c348",
    "trace_id": "13e5827d90f74b2298d67cb8591f63b2",
    "parent_span_id": "9d3cc3f33ffb636f",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553027.148352,
    "timestamp": 1787553035.038241,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139639351253888",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1509,
      "gen_ai.usage.output_tokens.reasoning": 1344,
      "gen_ai.usage.total_tokens": 1590,
      "gen_ai.response.time_to_first_token": 7.117478822000066,
      "gen_ai.response.text": "There are multiple definitions, but roughly:\n\n- Paris metropolitan area (the wider urban area): about 12 million people.\n- Île-de-France region (the administrative region that includes Paris and surrounding departments): about 12.2 million (roughly 2020 estimate).\n- Paris urban area (aire urbaine): typically around 12.5–13 million, depending on the year.\n\nIf you specify which definition you want (region vs. urban area) and the year, I can give a precise figure.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "9d3cc3f33ffb636f",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (async, blocking, chat)❗︎ 118951ms
checkAISpanCount(3)
checkChatSpanAttributes
89626e03gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
89626e03gen_ai.output.messagesMissing output messages attribute
bb2e393dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bb2e393dgen_ai.output.messagesMissing output messages attribute
b146aa5bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b146aa5bgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "a6389498234d3418",
    "parent_span_id": "89626e0348b8bc64",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:19.880908Z",
    "timestamp": "2026-08-24T06:30:19.884711Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20416
    },
    "data": {
      "thread.id": "140209028060864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "b9769ba2b19f4880",
    "parent_span_id": "89626e0348b8bc64",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.884786Z",
    "timestamp": "2026-08-24T06:30:19.884902Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20416
    },
    "data": {
      "thread.id": "140209028060864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "965bd947139c13ef",
    "parent_span_id": "b9769ba2b19f4880",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.884867Z",
    "timestamp": "2026-08-24T06:30:19.884897Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20416
    },
    "data": {
      "thread.id": "140209028060864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "9cb706b38ceb839a",
    "parent_span_id": "89626e0348b8bc64",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:19.884927Z",
    "timestamp": "2026-08-24T06:30:19.884937Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20416
    },
    "data": {
      "thread.id": "140209028060864",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "913c8fc67c36469c",
    "parent_span_id": "89626e0348b8bc64",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:19.886398Z",
    "timestamp": "2026-08-24T06:30:21.363000Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140209105849216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "9c2c300ff4e658fc",
    "parent_span_id": "bb2e393d30d7d703",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:21.371966Z",
    "timestamp": "2026-08-24T06:30:27.423397Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140209105849216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 44,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "span_id": "863c4372e09971fd",
    "parent_span_id": "b146aa5b0217c91f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:27.425726Z",
    "timestamp": "2026-08-24T06:30:36.352860Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140209105849216",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 70,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "957e16d36ca84ca7",
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:19.874356Z",
    "timestamp": "2026-08-24T06:30:36.354224Z",
    "data": {
      "thread.id": "140209105849216",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "89626e0348b8bc64",
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "parent_span_id": "957e16d36ca84ca7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553019.875597,
    "timestamp": 1787553021.370518,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140209105849216",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 226,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "957e16d36ca84ca7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "bb2e393d30d7d703",
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "parent_span_id": "957e16d36ca84ca7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553021.370599,
    "timestamp": 1787553027.423976,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140209105849216",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Do you mean:\\n- Paris city proper (within the city limits): about 2.1 million people.\\n- Paris metropolitan area / urban area: about 12 million people.\\n- \\u00cele-de-France region (greater Paris region): around 12\\u201313 million.\\n\\nIf you specify which one and the year you want, I can give a precise figure.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 1105,
      "gen_ai.usage.output_tokens.reasoning": 1024,
      "gen_ai.usage.total_tokens": 1153,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "957e16d36ca84ca7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b146aa5b0217c91f",
    "trace_id": "ea18b1040639448d83c4e103924410bd",
    "parent_span_id": "957e16d36ca84ca7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553027.424052,
    "timestamp": 1787553036.353331,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140209105849216",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Around 12 million people, depending on the boundary you use.\\n\\n- If you mean the \\u00cele-de-France region (the Paris metropolitan region), its population is about 12.3 million (roughly 2020 figures).\\n- If you mean the Paris urban area / aire urbaine (the continuous built-up area around Paris), it\\u2019s also around 12 million.\\n- City proper of Paris remains about 2.1\\u20132.2 million.\\n\\nDefinitions vary, so if you have a specific year or boundary in mind I can give a more precise figure.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1724,
      "gen_ai.usage.output_tokens.reasoning": 1600,
      "gen_ai.usage.total_tokens": 1805,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "957e16d36ca84ca7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Multi-Turn LLM Test (async, blocking, responses)❗︎ 116610ms
checkAISpanCount(3)
checkChatSpanAttributes
999d5c7dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
999d5c7dgen_ai.output.messagesMissing output messages attribute
9094f21bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9094f21bgen_ai.output.messagesMissing output messages attribute
9e4347aegen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9e4347aegen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
checkInputTokensCached(No AI spans with input_tokens.cached attribute)
checkOutputTokensReasoning
Deprecated Attributes
gen_ai.request.messages(3 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(3 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (11)
[
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "9dc627c274dc1b95",
    "parent_span_id": "999d5c7df394b1f6",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:20.180513Z",
    "timestamp": "2026-08-24T06:30:20.182408Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20421
    },
    "data": {
      "thread.id": "139848832775872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "90439815f238929b",
    "parent_span_id": "999d5c7df394b1f6",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:20.182485Z",
    "timestamp": "2026-08-24T06:30:20.182599Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20421
    },
    "data": {
      "thread.id": "139848832775872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "9726548d7d907f75",
    "parent_span_id": "90439815f238929b",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:20.182565Z",
    "timestamp": "2026-08-24T06:30:20.182594Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20421
    },
    "data": {
      "thread.id": "139848832775872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "87103b9bc4e61c4c",
    "parent_span_id": "999d5c7df394b1f6",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:20.182645Z",
    "timestamp": "2026-08-24T06:30:20.182657Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20421
    },
    "data": {
      "thread.id": "139848832775872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "b4eb4bc548a0ffe4",
    "parent_span_id": "999d5c7df394b1f6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:20.183999Z",
    "timestamp": "2026-08-24T06:30:21.420200Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139848987073408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "9ba2da0a5da421de",
    "parent_span_id": "9094f21bf3c752f8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:21.471918Z",
    "timestamp": "2026-08-24T06:30:26.517781Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139848987073408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 40,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "span_id": "81f037a31b5a48c8",
    "parent_span_id": "9e4347ae9107cff6",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:26.521192Z",
    "timestamp": "2026-08-24T06:30:34.160151Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139848987073408",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 62,
      "code.namespace": "__main__",
      "code.filepath": "test-multi-turn-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8b49e4779cccf968",
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "parent_span_id": null,
    "op": "test",
    "description": "Multi-Turn LLM Test",
    "start_timestamp": "2026-08-24T06:30:20.173677Z",
    "timestamp": "2026-08-24T06:30:34.162056Z",
    "data": {
      "thread.id": "139848987073408",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "999d5c7df394b1f6",
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "parent_span_id": "8b49e4779cccf968",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553020.174891,
    "timestamp": 1787553021.470527,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139848987073408",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 107,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 130,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8b49e4779cccf968",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9094f21bf3c752f8",
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "parent_span_id": "8b49e4779cccf968",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553021.470622,
    "timestamp": 1787553026.518855,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139848987073408",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris city proper has about 2.1 million residents. The wider Paris metropolitan area (Île-de-France) has roughly 12 million people. Numbers vary slightly by year and source.",
      "gen_ai.usage.input_tokens": 48,
      "gen_ai.usage.output_tokens": 825,
      "gen_ai.usage.output_tokens.reasoning": 768,
      "gen_ai.usage.total_tokens": 873,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8b49e4779cccf968",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9e4347ae9107cff6",
    "trace_id": "db4f5d6d32d947eebb0b03d5c9554617",
    "parent_span_id": "8b49e4779cccf968",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553026.518972,
    "timestamp": 1787553034.161114,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139848987073408",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What is the population of that city?\"}, {\"role\": \"assistant\", \"content\": \"Paris has a population of approximately 2.2 million people in the city proper.\"}, {\"role\": \"user\", \"content\": \"What about the metropolitan area?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Depending on the definition, but commonly around 12 million people.\n\n- Paris urban area (aire urbaine): about 12 million.\n- Île-de-France region (wider metro area including surrounding départements): about 12–13 million.\n\nIf you have a specific year or definition in mind, I can give a precise figure.",
      "gen_ai.usage.input_tokens": 81,
      "gen_ai.usage.output_tokens": 1303,
      "gen_ai.usage.output_tokens.reasoning": 1216,
      "gen_ai.usage.total_tokens": 1384,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Multi-Turn LLM Test",
      "sentry.segment.id": "8b49e4779cccf968",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (sync, streaming, chat)❗︎ 1 11913ms
checkChatSpanAttributes
974308f8gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
974308f8gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
974308f8gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
974308f8gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "span_id": "89c54317d4f08867",
    "parent_span_id": "974308f8626ba865",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:25.887786Z",
    "timestamp": "2026-08-24T06:30:25.888568Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20480
    },
    "data": {
      "thread.id": "139959997455232",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "span_id": "8b94b11781397373",
    "parent_span_id": "974308f8626ba865",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:25.888637Z",
    "timestamp": "2026-08-24T06:30:25.889153Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20480
    },
    "data": {
      "thread.id": "139959997455232",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "span_id": "943845a9650ec55f",
    "parent_span_id": "8b94b11781397373",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:25.889110Z",
    "timestamp": "2026-08-24T06:30:25.889145Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20480
    },
    "data": {
      "thread.id": "139959997455232",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "span_id": "8ce69fae3fc9c546",
    "parent_span_id": "974308f8626ba865",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:25.889175Z",
    "timestamp": "2026-08-24T06:30:25.889184Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20480
    },
    "data": {
      "thread.id": "139959997455232",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "span_id": "acd780494acf6b06",
    "parent_span_id": "974308f8626ba865",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:25.890076Z",
    "timestamp": "2026-08-24T06:30:26.442345Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139959997455232",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ae2c005083b52108",
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:25.884562Z",
    "timestamp": "2026-08-24T06:30:26.481790Z",
    "data": {
      "thread.id": "139959997455232",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "974308f8626ba865",
    "trace_id": "6f5a3ea5c6964d10af1d5466e821bf51",
    "parent_span_id": "ae2c005083b52108",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553025.885297,
    "timestamp": 1787553026.481752,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139959997455232",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.time_to_first_token": 0.560557382999832,
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "ae2c005083b52108",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (sync, streaming, responses)❗︎ 1 12687ms
checkChatSpanAttributes
8c91e885gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8c91e885gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
8c91e885gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
8c91e885gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "span_id": "aa18227a589a9f59",
    "parent_span_id": "8c91e8856dece270",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:25.943430Z",
    "timestamp": "2026-08-24T06:30:25.944264Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20482
    },
    "data": {
      "thread.id": "140606186924928",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "span_id": "9cbb7d5d0ab35544",
    "parent_span_id": "8c91e8856dece270",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:25.944323Z",
    "timestamp": "2026-08-24T06:30:25.944875Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20482
    },
    "data": {
      "thread.id": "140606186924928",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "span_id": "aba8fa8301d51fe4",
    "parent_span_id": "9cbb7d5d0ab35544",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:25.944832Z",
    "timestamp": "2026-08-24T06:30:25.944866Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20482
    },
    "data": {
      "thread.id": "140606186924928",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "span_id": "a0330675a054df8c",
    "parent_span_id": "8c91e8856dece270",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:25.944899Z",
    "timestamp": "2026-08-24T06:30:25.944909Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20482
    },
    "data": {
      "thread.id": "140606186924928",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "span_id": "a0018f9ee03f7869",
    "parent_span_id": "8c91e8856dece270",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:25.945743Z",
    "timestamp": "2026-08-24T06:30:26.564997Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140606186924928",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9f6ba43feada119b",
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:25.938554Z",
    "timestamp": "2026-08-24T06:30:27.228934Z",
    "data": {
      "thread.id": "140606186924928",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8c91e8856dece270",
    "trace_id": "258684114bfa453cbf1507e3bb91a4ac",
    "parent_span_id": "9f6ba43feada119b",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553025.939312,
    "timestamp": 1787553027.22888,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140606186924928",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.time_to_first_token": 1.082719372999918,
      "gen_ai.response.text": "Red",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "9f6ba43feada119b",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (sync, blocking, chat)❗︎ 1 11881ms
checkChatSpanAttributes
96234793gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
96234793gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
96234793gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
96234793gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "span_id": "8e45f4f436ed4055",
    "parent_span_id": "9623479378572c79",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:26.373701Z",
    "timestamp": "2026-08-24T06:30:26.374471Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20487
    },
    "data": {
      "thread.id": "140172298808192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "span_id": "83c58b29da7d16ad",
    "parent_span_id": "9623479378572c79",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:26.374528Z",
    "timestamp": "2026-08-24T06:30:26.375044Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20487
    },
    "data": {
      "thread.id": "140172298808192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "span_id": "bca1ff65f977cd56",
    "parent_span_id": "83c58b29da7d16ad",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:26.374993Z",
    "timestamp": "2026-08-24T06:30:26.375037Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20487
    },
    "data": {
      "thread.id": "140172298808192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "span_id": "b9f126c409a72864",
    "parent_span_id": "9623479378572c79",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:26.375065Z",
    "timestamp": "2026-08-24T06:30:26.375074Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20487
    },
    "data": {
      "thread.id": "140172298808192",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "span_id": "9a2f349677e7aea4",
    "parent_span_id": "9623479378572c79",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:26.375843Z",
    "timestamp": "2026-08-24T06:30:26.861786Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140172298808192",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b986a4c8d15acf14",
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:26.370564Z",
    "timestamp": "2026-08-24T06:30:26.870156Z",
    "data": {
      "thread.id": "140172298808192",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9623479378572c79",
    "trace_id": "ec04e747ad59408db17fcc7469ba2f2e",
    "parent_span_id": "b986a4c8d15acf14",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553026.371272,
    "timestamp": 1787553026.870112,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140172298808192",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"Red\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b986a4c8d15acf14",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (sync, blocking, responses)❗︎ 1 12209ms
checkChatSpanAttributes
b3026d84gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3026d84gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
b3026d84gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
b3026d84gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "span_id": "a3f3220a2eef78e6",
    "parent_span_id": "b3026d84362614d3",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:26.972865Z",
    "timestamp": "2026-08-24T06:30:26.973965Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20492
    },
    "data": {
      "thread.id": "140437293013888",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "span_id": "93a3c97ee88361aa",
    "parent_span_id": "b3026d84362614d3",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:26.974028Z",
    "timestamp": "2026-08-24T06:30:26.974594Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20492
    },
    "data": {
      "thread.id": "140437293013888",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "span_id": "abb412e375c27645",
    "parent_span_id": "93a3c97ee88361aa",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:26.974548Z",
    "timestamp": "2026-08-24T06:30:26.974586Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20492
    },
    "data": {
      "thread.id": "140437293013888",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "span_id": "b5d37a39ad3072c4",
    "parent_span_id": "b3026d84362614d3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:26.974640Z",
    "timestamp": "2026-08-24T06:30:26.974652Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20492
    },
    "data": {
      "thread.id": "140437293013888",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "span_id": "beaba43cfef66253",
    "parent_span_id": "b3026d84362614d3",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:26.975454Z",
    "timestamp": "2026-08-24T06:30:27.807546Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140437293013888",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a08d9a41c49c5687",
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:26.967361Z",
    "timestamp": "2026-08-24T06:30:27.860454Z",
    "data": {
      "thread.id": "140437293013888",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b3026d84362614d3",
    "trace_id": "aa58d47d993e418185e5416516804b46",
    "parent_span_id": "a08d9a41c49c5687",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553026.968184,
    "timestamp": 1787553027.860408,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140437293013888",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "a08d9a41c49c5687",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (async, streaming, chat)❗︎ 1 11860ms
checkChatSpanAttributes
84594059gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
84594059gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
84594059gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
84594059gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "span_id": "993b92a46b5bc923",
    "parent_span_id": "84594059a39a8514",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:27.732460Z",
    "timestamp": "2026-08-24T06:30:27.733365Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20501
    },
    "data": {
      "thread.id": "140035496466112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "span_id": "a90d01a107d33530",
    "parent_span_id": "84594059a39a8514",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:27.733426Z",
    "timestamp": "2026-08-24T06:30:27.733968Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20501
    },
    "data": {
      "thread.id": "140035496466112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "span_id": "ad9b02a85f152d2a",
    "parent_span_id": "a90d01a107d33530",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:27.733927Z",
    "timestamp": "2026-08-24T06:30:27.733960Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20501
    },
    "data": {
      "thread.id": "140035496466112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "span_id": "9e3a73156b904c28",
    "parent_span_id": "84594059a39a8514",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:27.733992Z",
    "timestamp": "2026-08-24T06:30:27.734001Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20501
    },
    "data": {
      "thread.id": "140035496466112",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "span_id": "b47a7d0d78e5d332",
    "parent_span_id": "84594059a39a8514",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:27.735136Z",
    "timestamp": "2026-08-24T06:30:28.293461Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140035574557568",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b5c8b36e27b0da3e",
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:27.728423Z",
    "timestamp": "2026-08-24T06:30:28.335336Z",
    "data": {
      "thread.id": "140035574557568",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "84594059a39a8514",
    "trace_id": "ed93fbb5d1a94c528ea80930eb936ab7",
    "parent_span_id": "b5c8b36e27b0da3e",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553027.729473,
    "timestamp": 1787553028.334132,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140035574557568",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.time_to_first_token": 0.5706276710000111,
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b5c8b36e27b0da3e",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (async, streaming, responses)❗︎ 1 12163ms
checkChatSpanAttributes
84c1e3bagen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
84c1e3bagen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
84c1e3bagen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
84c1e3bagen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "span_id": "97ecde2eaff919cd",
    "parent_span_id": "84c1e3ba9e5314f1",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:28.140237Z",
    "timestamp": "2026-08-24T06:30:28.141184Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20508
    },
    "data": {
      "thread.id": "140158525888192",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "span_id": "865ad80238303b13",
    "parent_span_id": "84c1e3ba9e5314f1",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:28.141242Z",
    "timestamp": "2026-08-24T06:30:28.141955Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20508
    },
    "data": {
      "thread.id": "140158525888192",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "span_id": "89461ab8454ca588",
    "parent_span_id": "865ad80238303b13",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:28.141901Z",
    "timestamp": "2026-08-24T06:30:28.141943Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20508
    },
    "data": {
      "thread.id": "140158525888192",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "span_id": "a8b9979c6d7cb112",
    "parent_span_id": "84c1e3ba9e5314f1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:28.141987Z",
    "timestamp": "2026-08-24T06:30:28.142001Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20508
    },
    "data": {
      "thread.id": "140158525888192",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "span_id": "878c1cc022af0ff2",
    "parent_span_id": "84c1e3ba9e5314f1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:28.143048Z",
    "timestamp": "2026-08-24T06:30:28.452536Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140158603881344",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "828208d70c6b082d",
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:28.134529Z",
    "timestamp": "2026-08-24T06:30:28.964514Z",
    "data": {
      "thread.id": "140158603881344",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "84c1e3ba9e5314f1",
    "trace_id": "ea755630970e4b0289491a61e2445225",
    "parent_span_id": "828208d70c6b082d",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553028.135544,
    "timestamp": 1787553028.963569,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140158603881344",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "gen_ai.response.time_to_first_token": 0.6265350270000454,
      "gen_ai.response.text": "Red",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "828208d70c6b082d",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (async, blocking, chat)❗︎ 1 12027ms
checkChatSpanAttributes
9dffb309gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9dffb309gen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
9dffb309gen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9dffb309gen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "span_id": "9366b3194c36905a",
    "parent_span_id": "9dffb3098cd5c112",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:28.584940Z",
    "timestamp": "2026-08-24T06:30:28.586247Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20516
    },
    "data": {
      "thread.id": "140627183785664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "span_id": "bc571e8252b68115",
    "parent_span_id": "9dffb3098cd5c112",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:28.586323Z",
    "timestamp": "2026-08-24T06:30:28.586926Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20516
    },
    "data": {
      "thread.id": "140627183785664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "span_id": "b48be8191dad2523",
    "parent_span_id": "bc571e8252b68115",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:28.586882Z",
    "timestamp": "2026-08-24T06:30:28.586918Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20516
    },
    "data": {
      "thread.id": "140627183785664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "span_id": "9539158d3e45249d",
    "parent_span_id": "9dffb3098cd5c112",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:28.586958Z",
    "timestamp": "2026-08-24T06:30:28.586971Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20516
    },
    "data": {
      "thread.id": "140627183785664",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "span_id": "bdcb556e1b670f27",
    "parent_span_id": "9dffb3098cd5c112",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:28.588659Z",
    "timestamp": "2026-08-24T06:30:29.287379Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140627262876544",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "977ae7159bbee288",
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:28.578740Z",
    "timestamp": "2026-08-24T06:30:29.293257Z",
    "data": {
      "thread.id": "140627262876544",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9dffb3098cd5c112",
    "trace_id": "637b04aaa79440ff861a902a2abe7d2d",
    "parent_span_id": "977ae7159bbee288",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553028.580133,
    "timestamp": 1787553029.29245,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140627262876544",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"image_url\", \"image_url\": {\"url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"Red\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.input_tokens.cached": 2944,
      "gen_ai.usage.output_tokens": 1,
      "gen_ai.usage.total_tokens": 8538,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "977ae7159bbee288",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Vision LLM Test (async, blocking, responses)❗︎ 1 12234ms
checkChatSpanAttributes
9b83ccadgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9b83ccadgen_ai.output.messagesMissing output messages attribute
checkValidTokenUsage(Not supported by this framework)
checkInputMessagesSchema
checkBinaryRedaction
9b83ccadgen_ai.request.messagesMessages should not contain raw base64 data (should be redacted)
9b83ccadgen_ai.request.messagesMessages should contain '[Blob substitute]' marker indicating binary content was redacted
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "span_id": "aadf21c34135501e",
    "parent_span_id": "9b83ccad67b33d61",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:29.163114Z",
    "timestamp": "2026-08-24T06:30:29.164003Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20524
    },
    "data": {
      "thread.id": "139666881967808",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "span_id": "9c4bf3e269b6dbf4",
    "parent_span_id": "9b83ccad67b33d61",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:29.164059Z",
    "timestamp": "2026-08-24T06:30:29.164564Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20524
    },
    "data": {
      "thread.id": "139666881967808",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "span_id": "a4de3db26e06f2d3",
    "parent_span_id": "9c4bf3e269b6dbf4",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:29.164527Z",
    "timestamp": "2026-08-24T06:30:29.164557Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20524
    },
    "data": {
      "thread.id": "139666881967808",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "span_id": "9d989f8f25558a76",
    "parent_span_id": "9b83ccad67b33d61",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:29.164586Z",
    "timestamp": "2026-08-24T06:30:29.164595Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20524
    },
    "data": {
      "thread.id": "139666881967808",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "span_id": "a57b71f6dc0b185e",
    "parent_span_id": "9b83ccad67b33d61",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:29.165595Z",
    "timestamp": "2026-08-24T06:30:29.999484Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139666960735104",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-vision-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b3c7cc5339b094dc",
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "parent_span_id": null,
    "op": "test",
    "description": "Vision LLM Test",
    "start_timestamp": "2026-08-24T06:30:29.157448Z",
    "timestamp": "2026-08-24T06:30:30.089353Z",
    "data": {
      "thread.id": "139666960735104",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9b83ccad67b33d61",
    "trace_id": "52014159ddcf4b92a6d1dcf78b687b98",
    "parent_span_id": "b3c7cc5339b094dc",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553029.158406,
    "timestamp": 1787553030.088327,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139666960735104",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant that can analyze images. Be concise.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": [{\"type\": \"input_text\", \"text\": \"What color is this image? Reply with just the color name.\"}, {\"type\": \"input_image\", \"image_url\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAFUlEQVR42mP8z8BQz0AEYBxVSF+FABJADveWkH6oAAAAAElFTkSuQmCC\"}]}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "Red",
      "gen_ai.usage.input_tokens": 8537,
      "gen_ai.usage.output_tokens": 2,
      "gen_ai.usage.total_tokens": 8539,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Vision LLM Test",
      "sentry.segment.id": "b3c7cc5339b094dc",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (sync, streaming, chat)❗︎ 11871ms
checkChatSpanAttributes
990a4625gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
990a4625gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "span_id": "b73514d606e50d35",
    "parent_span_id": "990a4625001b5ced",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:29.628399Z",
    "timestamp": "2026-08-24T06:30:29.629202Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20529
    },
    "data": {
      "thread.id": "140562721270656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "span_id": "be5f3d2dc8044a4f",
    "parent_span_id": "990a4625001b5ced",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:29.629241Z",
    "timestamp": "2026-08-24T06:30:29.629720Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20529
    },
    "data": {
      "thread.id": "140562721270656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "span_id": "861280a67031f82f",
    "parent_span_id": "be5f3d2dc8044a4f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:29.629691Z",
    "timestamp": "2026-08-24T06:30:29.629715Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20529
    },
    "data": {
      "thread.id": "140562721270656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "span_id": "93b4215d9de60e40",
    "parent_span_id": "990a4625001b5ced",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:29.629740Z",
    "timestamp": "2026-08-24T06:30:29.629748Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20529
    },
    "data": {
      "thread.id": "140562721270656",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "span_id": "909be84ea03cdda9",
    "parent_span_id": "990a4625001b5ced",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:29.630569Z",
    "timestamp": "2026-08-24T06:30:30.006713Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140562721270656",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9b38f55c7ebb121c",
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:29.625406Z",
    "timestamp": "2026-08-24T06:30:30.176913Z",
    "data": {
      "thread.id": "140562721270656",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "990a4625001b5ced",
    "trace_id": "6e92bbfb21d64929a8e7c21cbfbe5137",
    "parent_span_id": "9b38f55c7ebb121c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553029.626322,
    "timestamp": 1787553030.176861,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140562721270656",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.time_to_first_token": 0.38661958099987714,
      "gen_ai.response.text": "The message repeatedly emphasizes that it is a test message created to generate a long input.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5376,
      "gen_ai.usage.output_tokens": 17,
      "gen_ai.usage.total_tokens": 5446,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "9b38f55c7ebb121c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (sync, streaming, responses)❗︎ 12627ms
checkChatSpanAttributes
bc3bac15gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
bc3bac15gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "span_id": "9b9b046ef4cdfe39",
    "parent_span_id": "bc3bac15a2deb4fa",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:30.357906Z",
    "timestamp": "2026-08-24T06:30:30.358772Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20539
    },
    "data": {
      "thread.id": "140428193287040",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "span_id": "8b7547b1f00f7073",
    "parent_span_id": "bc3bac15a2deb4fa",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:30.358833Z",
    "timestamp": "2026-08-24T06:30:30.359395Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20539
    },
    "data": {
      "thread.id": "140428193287040",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "span_id": "ab047241271287fc",
    "parent_span_id": "8b7547b1f00f7073",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:30.359352Z",
    "timestamp": "2026-08-24T06:30:30.359387Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20539
    },
    "data": {
      "thread.id": "140428193287040",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "span_id": "a8e1e0e86b03ac88",
    "parent_span_id": "bc3bac15a2deb4fa",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:30.359420Z",
    "timestamp": "2026-08-24T06:30:30.359430Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20539
    },
    "data": {
      "thread.id": "140428193287040",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "span_id": "850454385f9c6b8d",
    "parent_span_id": "bc3bac15a2deb4fa",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:30.360411Z",
    "timestamp": "2026-08-24T06:30:30.609190Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140428193287040",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "ac151e458e4c2d54",
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:30.353238Z",
    "timestamp": "2026-08-24T06:30:31.637857Z",
    "data": {
      "thread.id": "140428193287040",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "bc3bac15a2deb4fa",
    "trace_id": "b15b8be64b274320b204cb2df1b04e0c",
    "parent_span_id": "ac151e458e4c2d54",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553030.354013,
    "timestamp": 1787553031.637784,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140428193287040",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.output_tokens": 14,
      "gen_ai.usage.total_tokens": 5443,
      "gen_ai.response.time_to_first_token": 0.7873679530000572,
      "gen_ai.response.text": "This test message will be repeatedly used to generate a long input.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "ac151e458e4c2d54",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (sync, blocking, chat)❗︎ 11850ms
checkChatSpanAttributes
b90c4790gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b90c4790gen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "span_id": "b89e9bbe5540e5cd",
    "parent_span_id": "b90c4790c05c14f1",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:30.584167Z",
    "timestamp": "2026-08-24T06:30:30.585031Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20542
    },
    "data": {
      "thread.id": "140443911318400",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "span_id": "976d9670d70cf27e",
    "parent_span_id": "b90c4790c05c14f1",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:30.585080Z",
    "timestamp": "2026-08-24T06:30:30.585572Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20542
    },
    "data": {
      "thread.id": "140443911318400",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "span_id": "a25d71c3ad5ccb59",
    "parent_span_id": "976d9670d70cf27e",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:30.585538Z",
    "timestamp": "2026-08-24T06:30:30.585566Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20542
    },
    "data": {
      "thread.id": "140443911318400",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "span_id": "9ba12c72302d5e66",
    "parent_span_id": "b90c4790c05c14f1",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:30.585593Z",
    "timestamp": "2026-08-24T06:30:30.585602Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20542
    },
    "data": {
      "thread.id": "140443911318400",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "span_id": "9c5121c4a94b0096",
    "parent_span_id": "b90c4790c05c14f1",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:30.586576Z",
    "timestamp": "2026-08-24T06:30:31.103875Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140443911318400",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bde49bf69ea45a03",
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:30.581154Z",
    "timestamp": "2026-08-24T06:30:31.112001Z",
    "data": {
      "thread.id": "140443911318400",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b90c4790c05c14f1",
    "trace_id": "20cd83287f9a47c796ec0c6b62b0bc41",
    "parent_span_id": "bde49bf69ea45a03",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553030.581951,
    "timestamp": 1787553031.11196,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140443911318400",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"A test message is repeatedly stated to generate a long input.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5376,
      "gen_ai.usage.output_tokens": 12,
      "gen_ai.usage.total_tokens": 5441,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bde49bf69ea45a03",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (sync, blocking, responses)❗︎ 12557ms
checkChatSpanAttributes
b153fb6fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b153fb6fgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "span_id": "bb87d67e73152ae6",
    "parent_span_id": "b153fb6f6c4ea4ca",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:31.425902Z",
    "timestamp": "2026-08-24T06:30:31.426799Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20551
    },
    "data": {
      "thread.id": "140462965730176",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "span_id": "af0ce4f777cc797c",
    "parent_span_id": "b153fb6f6c4ea4ca",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:31.426864Z",
    "timestamp": "2026-08-24T06:30:31.427422Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20551
    },
    "data": {
      "thread.id": "140462965730176",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "span_id": "854ea92fde7b670a",
    "parent_span_id": "af0ce4f777cc797c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:31.427377Z",
    "timestamp": "2026-08-24T06:30:31.427414Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20551
    },
    "data": {
      "thread.id": "140462965730176",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "span_id": "ade91649e83077fe",
    "parent_span_id": "b153fb6f6c4ea4ca",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:31.427447Z",
    "timestamp": "2026-08-24T06:30:31.427457Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20551
    },
    "data": {
      "thread.id": "140462965730176",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "span_id": "bb9b90ef225bfc2d",
    "parent_span_id": "b153fb6f6c4ea4ca",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:31.428443Z",
    "timestamp": "2026-08-24T06:30:32.628583Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140462965730176",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 25,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a231872dafdd4eac",
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:31.421326Z",
    "timestamp": "2026-08-24T06:30:32.678508Z",
    "data": {
      "thread.id": "140462965730176",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b153fb6f6c4ea4ca",
    "trace_id": "39b994cb815e49cd8dd49f0104fe5241",
    "parent_span_id": "a231872dafdd4eac",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553031.422132,
    "timestamp": 1787553032.678465,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140462965730176",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "This message is a repetitive test that aims to create an excessively long input by reiterating the same phrase multiple times.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5248,
      "gen_ai.usage.output_tokens": 24,
      "gen_ai.usage.total_tokens": 5453,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "a231872dafdd4eac",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (async, streaming, chat)❗︎ 12103ms
checkChatSpanAttributes
93c7b8edgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
93c7b8edgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "span_id": "9b25acf9fed2313f",
    "parent_span_id": "93c7b8edd292a846",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:31.510146Z",
    "timestamp": "2026-08-24T06:30:31.511222Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20554
    },
    "data": {
      "thread.id": "140162499606208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "span_id": "9089164dcdb682c6",
    "parent_span_id": "93c7b8edd292a846",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:31.511276Z",
    "timestamp": "2026-08-24T06:30:31.511587Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20554
    },
    "data": {
      "thread.id": "140162499606208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "span_id": "b0866417867d6b92",
    "parent_span_id": "9089164dcdb682c6",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:31.511556Z",
    "timestamp": "2026-08-24T06:30:31.511582Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20554
    },
    "data": {
      "thread.id": "140162499606208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "span_id": "aaa6bea586029cfb",
    "parent_span_id": "93c7b8edd292a846",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:31.511623Z",
    "timestamp": "2026-08-24T06:30:31.511633Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20554
    },
    "data": {
      "thread.id": "140162499606208",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "span_id": "bf5b38d27d9b8fbd",
    "parent_span_id": "93c7b8edd292a846",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:31.512785Z",
    "timestamp": "2026-08-24T06:30:31.955588Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140162651741056",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "898ef14bef06cd4c",
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:31.506714Z",
    "timestamp": "2026-08-24T06:30:32.286855Z",
    "data": {
      "thread.id": "140162651741056",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "93c7b8edd292a846",
    "trace_id": "8f134a5bece14fb4ba0d79b3dce93b68",
    "parent_span_id": "898ef14bef06cd4c",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553031.507805,
    "timestamp": 1787553032.285585,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140162651741056",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.time_to_first_token": 0.46320480399981534,
      "gen_ai.response.text": "The message is a repeated phrase stating it is a test message that will be repeated multiple times to generate a very long input.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5376,
      "gen_ai.usage.output_tokens": 25,
      "gen_ai.usage.total_tokens": 5454,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "898ef14bef06cd4c",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (async, streaming, responses)❗︎ 12633ms
checkChatSpanAttributes
8212d77fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8212d77fgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "span_id": "8683322ffd53857e",
    "parent_span_id": "8212d77ffa01042c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:32.419970Z",
    "timestamp": "2026-08-24T06:30:32.420854Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20565
    },
    "data": {
      "thread.id": "140384762451648",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "span_id": "86a062040213dc33",
    "parent_span_id": "8212d77ffa01042c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:32.420912Z",
    "timestamp": "2026-08-24T06:30:32.421410Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20565
    },
    "data": {
      "thread.id": "140384762451648",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "span_id": "8fea825834e2d19e",
    "parent_span_id": "86a062040213dc33",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:32.421373Z",
    "timestamp": "2026-08-24T06:30:32.421403Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20565
    },
    "data": {
      "thread.id": "140384762451648",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "span_id": "bee33daa33dc709b",
    "parent_span_id": "8212d77ffa01042c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:32.421432Z",
    "timestamp": "2026-08-24T06:30:32.421441Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20565
    },
    "data": {
      "thread.id": "140384762451648",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "span_id": "b7da9aebad4a99e8",
    "parent_span_id": "8212d77ffa01042c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:32.422586Z",
    "timestamp": "2026-08-24T06:30:32.686098Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140384840670080",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bc26c9f1424146ed",
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:32.414154Z",
    "timestamp": "2026-08-24T06:30:33.737080Z",
    "data": {
      "thread.id": "140384840670080",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "8212d77ffa01042c",
    "trace_id": "a39b9d4bca2e4c10b23d35c9697f11eb",
    "parent_span_id": "bc26c9f1424146ed",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553032.415344,
    "timestamp": 1787553033.736196,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140384840670080",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5248,
      "gen_ai.usage.output_tokens": 22,
      "gen_ai.usage.total_tokens": 5451,
      "gen_ai.response.time_to_first_token": 0.6617476850001367,
      "gen_ai.response.text": "The text is a repetitive message designed to create a long input by reiterating the same sentence multiple times.",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bc26c9f1424146ed",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (async, blocking, chat)❗︎ 11832ms
checkChatSpanAttributes
b139c6ebgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b139c6ebgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "span_id": "9999da212716adb2",
    "parent_span_id": "b139c6eb07122438",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:32.960409Z",
    "timestamp": "2026-08-24T06:30:32.961377Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20572
    },
    "data": {
      "thread.id": "139882990438080",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "span_id": "a6194deb380459c6",
    "parent_span_id": "b139c6eb07122438",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:32.961440Z",
    "timestamp": "2026-08-24T06:30:32.962007Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20572
    },
    "data": {
      "thread.id": "139882990438080",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "span_id": "a5fce23ce6e8e834",
    "parent_span_id": "a6194deb380459c6",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:32.961962Z",
    "timestamp": "2026-08-24T06:30:32.961999Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20572
    },
    "data": {
      "thread.id": "139882990438080",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "span_id": "ac2788a45e2ba9ea",
    "parent_span_id": "b139c6eb07122438",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:32.962033Z",
    "timestamp": "2026-08-24T06:30:32.962044Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20572
    },
    "data": {
      "thread.id": "139882990438080",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "span_id": "91ec5afa674a336b",
    "parent_span_id": "b139c6eb07122438",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:32.963249Z",
    "timestamp": "2026-08-24T06:30:33.463088Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139883068210048",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "93dc7e1148e457e1",
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:32.957044Z",
    "timestamp": "2026-08-24T06:30:33.472663Z",
    "data": {
      "thread.id": "139883068210048",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b139c6eb07122438",
    "trace_id": "97cc8b7bd1d54102b4843aad34ed5de4",
    "parent_span_id": "93dc7e1148e457e1",
    "op": "gen_ai.chat",
    "description": "chat gpt-4o-mini",
    "start_timestamp": 1787553032.957996,
    "timestamp": 1787553033.47166,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "139883068210048",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "{\"content\": \"This is a repetitive test message designed to generate a long input.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5376,
      "gen_ai.usage.output_tokens": 13,
      "gen_ai.usage.total_tokens": 5442,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "93dc7e1148e457e1",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Long Input LLM Test (async, blocking, responses)❗︎ 12443ms
checkChatSpanAttributes
ae2f185bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae2f185bgen_ai.output.messagesMissing output messages attribute
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(1 span) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (7)
[
  {
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "span_id": "bdeabf66fc558769",
    "parent_span_id": "ae2f185bd637eef9",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:33.621810Z",
    "timestamp": "2026-08-24T06:30:33.622743Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20580
    },
    "data": {
      "thread.id": "140452812551872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "span_id": "b4525bbd9c1647d3",
    "parent_span_id": "ae2f185bd637eef9",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:33.622801Z",
    "timestamp": "2026-08-24T06:30:33.623319Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20580
    },
    "data": {
      "thread.id": "140452812551872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "span_id": "abbc5461d16f56ca",
    "parent_span_id": "b4525bbd9c1647d3",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:33.623280Z",
    "timestamp": "2026-08-24T06:30:33.623311Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20580
    },
    "data": {
      "thread.id": "140452812551872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "span_id": "9e95eaead7485612",
    "parent_span_id": "ae2f185bd637eef9",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:33.623342Z",
    "timestamp": "2026-08-24T06:30:33.623351Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20580
    },
    "data": {
      "thread.id": "140452812551872",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "span_id": "bbbeaf4fbfd408e2",
    "parent_span_id": "ae2f185bd637eef9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:33.624495Z",
    "timestamp": "2026-08-24T06:30:34.639155Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140452962401152",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-long-input-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "bf46a013e98bed77",
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "parent_span_id": null,
    "op": "test",
    "description": "Long Input LLM Test",
    "start_timestamp": "2026-08-24T06:30:33.616889Z",
    "timestamp": "2026-08-24T06:30:34.732624Z",
    "data": {
      "thread.id": "140452962401152",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ae2f185bd637eef9",
    "trace_id": "68efbb0c3784467298f26efaedaf70d4",
    "parent_span_id": "bf46a013e98bed77",
    "op": "gen_ai.responses",
    "description": "responses gpt-4o-mini",
    "start_timestamp": 1787553033.617834,
    "timestamp": 1787553034.731587,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140452962401152",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-4o-mini",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant. Respond briefly.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"Summarize this in one sentence: This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. This is a test message that will be repeated many times to create a very long input. \"}]",
      "gen_ai.response.model": "gpt-4o-mini-2024-07-18",
      "gen_ai.response.text": "A repetitive test message is being used multiple times to generate a lengthy input.",
      "gen_ai.usage.input_tokens": 5429,
      "gen_ai.usage.input_tokens.cached": 5248,
      "gen_ai.usage.output_tokens": 16,
      "gen_ai.usage.total_tokens": 5445,
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Long Input LLM Test",
      "sentry.segment.id": "bf46a013e98bed77",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (sync, streaming, chat)❗︎ 18913ms
checkAISpanCount(4)
checkChatSpanAttributes
acf49959gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
acf49959gen_ai.output.messagesMissing output messages attribute
b61a6bb5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b61a6bb5gen_ai.output.messagesMissing output messages attribute
b14350ebgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b14350ebgen_ai.output.messagesMissing output messages attribute
be68c4b2gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
be68c4b2gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "926fa0069999523e",
    "parent_span_id": "acf4995911a28a6c",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:33.936346Z",
    "timestamp": "2026-08-24T06:30:33.937178Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20585
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "8a3806f688cf7e10",
    "parent_span_id": "acf4995911a28a6c",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:33.937217Z",
    "timestamp": "2026-08-24T06:30:33.937717Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20585
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "b34769396d59792e",
    "parent_span_id": "8a3806f688cf7e10",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:33.937674Z",
    "timestamp": "2026-08-24T06:30:33.937711Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20585
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "9ca791f2be1e846d",
    "parent_span_id": "acf4995911a28a6c",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:33.937738Z",
    "timestamp": "2026-08-24T06:30:33.937747Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20585
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "8e37824138aca38b",
    "parent_span_id": "acf4995911a28a6c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:33.938483Z",
    "timestamp": "2026-08-24T06:30:35.596207Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "abe56136c9e478d2",
    "parent_span_id": "b61a6bb582ee7c00",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:35.692217Z",
    "timestamp": "2026-08-24T06:30:37.548429Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 53,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "8ad7a25f1adf5370",
    "parent_span_id": "b14350eb117998fa",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:37.763040Z",
    "timestamp": "2026-08-24T06:30:39.305986Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 80,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "span_id": "bd75976aa55708ae",
    "parent_span_id": "be68c4b24ceab1ff",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:39.391432Z",
    "timestamp": "2026-08-24T06:30:41.256148Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 115,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "9ac9564f3b034ede",
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:33.933579Z",
    "timestamp": "2026-08-24T06:30:41.535389Z",
    "data": {
      "thread.id": "140634726611840",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "acf4995911a28a6c",
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "parent_span_id": "9ac9564f3b034ede",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553033.934369,
    "timestamp": 1787553035.69104,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.677930196000034,
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9ac9564f3b034ede",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b61a6bb582ee7c00",
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "parent_span_id": "9ac9564f3b034ede",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553035.691121,
    "timestamp": 1787553037.761071,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.8797512520000055,
      "gen_ai.response.text": "4\n\nTwo plus two equals four. If you’d like, I can show a quick visualization (like objects or a number line) or give you a few practice problems.",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 300,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 324,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9ac9564f3b034ede",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b14350eb117998fa",
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "parent_span_id": "9ac9564f3b034ede",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553037.761167,
    "timestamp": 1787553039.389395,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.5475229860001036,
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9ac9564f3b034ede",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "be68c4b24ceab1ff",
    "trace_id": "7ea68af376ed42dbb5c55f295fbe7f6d",
    "parent_span_id": "9ac9564f3b034ede",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553039.389506,
    "timestamp": 1787553041.535336,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140634726611840",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.8672752979998677,
      "gen_ai.response.text": "3 + 3 = 6.\n\nYou can think of it as two groups of three, which makes six. Or it’s the same as 2 × 3 = 6. Want a quick practice problem?",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 309,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 359,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "9ac9564f3b034ede",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (sync, streaming, responses)❗︎ 110227ms
checkAISpanCount(4)
checkChatSpanAttributes
a168e6f4gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a168e6f4gen_ai.output.messagesMissing output messages attribute
b4fb6545gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b4fb6545gen_ai.output.messagesMissing output messages attribute
91ef266agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
91ef266agen_ai.output.messagesMissing output messages attribute
98504e23gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
98504e23gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "abb137a1657754b3",
    "parent_span_id": "a168e6f474697e48",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:34.788442Z",
    "timestamp": "2026-08-24T06:30:34.790598Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20598
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "93ab0193a562f93f",
    "parent_span_id": "a168e6f474697e48",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:34.790696Z",
    "timestamp": "2026-08-24T06:30:34.790827Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20598
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "ae340f5fa453b01a",
    "parent_span_id": "93ab0193a562f93f",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:34.790790Z",
    "timestamp": "2026-08-24T06:30:34.790821Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20598
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "a602dc436247530d",
    "parent_span_id": "a168e6f474697e48",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:34.790857Z",
    "timestamp": "2026-08-24T06:30:34.790869Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20598
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "9f5d463004c10f2b",
    "parent_span_id": "a168e6f474697e48",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:34.792094Z",
    "timestamp": "2026-08-24T06:30:35.081307Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "89ae8a94627358b0",
    "parent_span_id": "b4fb654569defb4e",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:36.419222Z",
    "timestamp": "2026-08-24T06:30:36.699328Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 49,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "a7d52b7f6bd6be76",
    "parent_span_id": "91ef266ae005dfc4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:39.788000Z",
    "timestamp": "2026-08-24T06:30:40.355209Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 72,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "span_id": "9da95f72be60e69b",
    "parent_span_id": "98504e2392f0d76f",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:41.569877Z",
    "timestamp": "2026-08-24T06:30:41.825237Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 103,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "8263ba5a6d3f6149",
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:34.781620Z",
    "timestamp": "2026-08-24T06:30:43.613160Z",
    "data": {
      "thread.id": "140318314941312",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a168e6f474697e48",
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "parent_span_id": "8263ba5a6d3f6149",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553034.782879,
    "timestamp": 1787553036.417557,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 178,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 201,
      "gen_ai.response.time_to_first_token": 1.329293565999933,
      "gen_ai.response.text": "Paris.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8263ba5a6d3f6149",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b4fb654569defb4e",
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "parent_span_id": "8263ba5a6d3f6149",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553036.417682,
    "timestamp": 1787553039.785991,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 323,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 347,
      "gen_ai.response.time_to_first_token": 2.6721421540000847,
      "gen_ai.response.text": "4. In standard arithmetic, 2 plus 2 equals 4. If you’d like, I can give a quick illustration (like a number line) or show it in a different context.",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8263ba5a6d3f6149",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "91ef266ae005dfc4",
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "parent_span_id": "8263ba5a6d3f6149",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553039.786099,
    "timestamp": 1787553041.567908,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 182,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.response.time_to_first_token": 1.422021142999938,
      "gen_ai.response.text": "Berlin.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8263ba5a6d3f6149",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "98504e2392f0d76f",
    "trace_id": "ac27ab6447cf434293c5b00c4833e250",
    "parent_span_id": "8263ba5a6d3f6149",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553041.568005,
    "timestamp": 1787553043.613109,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140318314941312",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 298,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 348,
      "gen_ai.response.time_to_first_token": 1.6567398199999843,
      "gen_ai.response.text": "3 + 3 = 6.\n\nIf you want a quick way to see it: start at 3 and count up three more (4, 5, 6) to reach 6.",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "8263ba5a6d3f6149",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (sync, blocking, chat)❗︎ 18068ms
checkAISpanCount(4)
checkChatSpanAttributes
9c6ce077gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9c6ce077gen_ai.output.messagesMissing output messages attribute
9213888bgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9213888bgen_ai.output.messagesMissing output messages attribute
b3e1389cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b3e1389cgen_ai.output.messagesMissing output messages attribute
b754ebffgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b754ebffgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "ba224f93b244e070",
    "parent_span_id": "9c6ce077a41903af",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:35.061239Z",
    "timestamp": "2026-08-24T06:30:35.062715Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20603
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "818bc64ae1eb714a",
    "parent_span_id": "9c6ce077a41903af",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:35.062797Z",
    "timestamp": "2026-08-24T06:30:35.062933Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20603
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "82e13b67d74fe8c8",
    "parent_span_id": "818bc64ae1eb714a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:35.062877Z",
    "timestamp": "2026-08-24T06:30:35.062925Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20603
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "bfb9a2f298996fc0",
    "parent_span_id": "9c6ce077a41903af",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:35.062963Z",
    "timestamp": "2026-08-24T06:30:35.062975Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20603
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "85da9542fc89d1fc",
    "parent_span_id": "9c6ce077a41903af",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:35.064093Z",
    "timestamp": "2026-08-24T06:30:36.335922Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "add57ffc977ebb93",
    "parent_span_id": "9213888b415e6153",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:36.342273Z",
    "timestamp": "2026-08-24T06:30:38.290278Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 45,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "a11c8b0204023260",
    "parent_span_id": "b3e1389c77161195",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:38.293216Z",
    "timestamp": "2026-08-24T06:30:39.634728Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 64,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "span_id": "8604db2f11064020",
    "parent_span_id": "b754ebff1ab35924",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:39.640135Z",
    "timestamp": "2026-08-24T06:30:41.806897Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 91,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "a9366ee1ff2ee7f5",
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:35.057506Z",
    "timestamp": "2026-08-24T06:30:41.807615Z",
    "data": {
      "thread.id": "140031377992576",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "9c6ce077a41903af",
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "parent_span_id": "a9366ee1ff2ee7f5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553035.058456,
    "timestamp": 1787553036.341124,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 139,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 162,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a9366ee1ff2ee7f5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9213888b415e6153",
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "parent_span_id": "a9366ee1ff2ee7f5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553036.341205,
    "timestamp": 1787553038.291044,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"4\\n\\nIf you\\u2019d like a quick way to see it: two apples plus two apples makes four apples.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 287,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 311,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a9366ee1ff2ee7f5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b3e1389c77161195",
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "parent_span_id": "a9366ee1ff2ee7f5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553038.291146,
    "timestamp": 1787553039.635364,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 144,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 188,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a9366ee1ff2ee7f5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b754ebff1ab35924",
    "trace_id": "d34fa5680b22454e86e02fc637d9ed1f",
    "parent_span_id": "a9366ee1ff2ee7f5",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553039.635458,
    "timestamp": 1787553041.807553,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140031377992576",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6. (It's also 2 \\u00d7 3.)\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 282,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 332,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "a9366ee1ff2ee7f5",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (sync, blocking, responses)❗︎ 18888ms
checkAISpanCount(4)
checkChatSpanAttributes
87207fafgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
87207fafgen_ai.output.messagesMissing output messages attribute
85737677gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
85737677gen_ai.output.messagesMissing output messages attribute
b7bdb8e5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b7bdb8e5gen_ai.output.messagesMissing output messages attribute
a49a503cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a49a503cgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "b762b85908577fbf",
    "parent_span_id": "87207fafc58fecae",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:35.461005Z",
    "timestamp": "2026-08-24T06:30:35.461896Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20608
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "af3bb5a21debd443",
    "parent_span_id": "87207fafc58fecae",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:35.461963Z",
    "timestamp": "2026-08-24T06:30:35.462498Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20608
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "9cda6695c7bc2a0a",
    "parent_span_id": "af3bb5a21debd443",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:35.462446Z",
    "timestamp": "2026-08-24T06:30:35.462488Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20608
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "856ce6d1fc3069f3",
    "parent_span_id": "87207fafc58fecae",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:35.462524Z",
    "timestamp": "2026-08-24T06:30:35.462534Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20608
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "94995ab9960d44be",
    "parent_span_id": "87207fafc58fecae",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:35.463414Z",
    "timestamp": "2026-08-24T06:30:37.131106Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 26,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "8c1467dadb4d5ce6",
    "parent_span_id": "857376775408bfaa",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:37.224285Z",
    "timestamp": "2026-08-24T06:30:38.951741Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 41,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "baca1b6c2384cb42",
    "parent_span_id": "b7bdb8e52822e0c9",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:38.954824Z",
    "timestamp": "2026-08-24T06:30:40.625031Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 56,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "span_id": "b1e6cd82d8fd6fef",
    "parent_span_id": "a49a503ca6ccaa73",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:40.627825Z",
    "timestamp": "2026-08-24T06:30:42.835269Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 79,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-sync-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "b91b8af6b2c663b8",
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:35.456375Z",
    "timestamp": "2026-08-24T06:30:42.836383Z",
    "data": {
      "thread.id": "140561024424832",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "87207fafc58fecae",
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "parent_span_id": "b91b8af6b2c663b8",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553035.457176,
    "timestamp": 1787553037.222589,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 115,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 138,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b91b8af6b2c663b8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "857376775408bfaa",
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "parent_span_id": "b91b8af6b2c663b8",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553037.222721,
    "timestamp": 1787553038.952887,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "4\n\nIn base-10 arithmetic, 2 + 2 equals 4. Want a quick follow-up problem or a short explanation with a number line?",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 233,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 257,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b91b8af6b2c663b8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b7bdb8e52822e0c9",
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "parent_span_id": "b91b8af6b2c663b8",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553038.953002,
    "timestamp": 1787553040.62597,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Germany's capital is Berlin. If you’d like, I can share more about Berlin or other major German cities.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 194,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 238,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b91b8af6b2c663b8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a49a503ca6ccaa73",
    "trace_id": "4a719e9816964c14981f3de1e92c08dd",
    "parent_span_id": "b91b8af6b2c663b8",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553040.626078,
    "timestamp": 1787553042.836314,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140561024424832",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "3 + 3 = 6. If you like, you can think of it as doubling 3 or counting 3 objects twice to get 6.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 229,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 279,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "b91b8af6b2c663b8",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (async, streaming, chat)❗︎ 111276ms
checkAISpanCount(4)
checkChatSpanAttributes
a392551dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a392551dgen_ai.output.messagesMissing output messages attribute
a5b0131fgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a5b0131fgen_ai.output.messagesMissing output messages attribute
99d8db44gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99d8db44gen_ai.output.messagesMissing output messages attribute
9cf62a1dgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9cf62a1dgen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "a39ac761bef8751a",
    "parent_span_id": "a392551d2869f8bd",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:36.007971Z",
    "timestamp": "2026-08-24T06:30:36.008866Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20614
    },
    "data": {
      "thread.id": "140635855115968",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "82758924cd346600",
    "parent_span_id": "a392551d2869f8bd",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:36.008928Z",
    "timestamp": "2026-08-24T06:30:36.009593Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20614
    },
    "data": {
      "thread.id": "140635855115968",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "b43f77267afa0fba",
    "parent_span_id": "82758924cd346600",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:36.009548Z",
    "timestamp": "2026-08-24T06:30:36.009583Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20614
    },
    "data": {
      "thread.id": "140635855115968",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "a5c152764ba00af8",
    "parent_span_id": "a392551d2869f8bd",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:36.009649Z",
    "timestamp": "2026-08-24T06:30:36.009660Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20614
    },
    "data": {
      "thread.id": "140635855115968",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "87c1d42a24d7d0f3",
    "parent_span_id": "a392551d2869f8bd",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:36.010639Z",
    "timestamp": "2026-08-24T06:30:38.102339Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 27,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "b6f220cfd679686c",
    "parent_span_id": "a5b0131f43658c47",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:38.314108Z",
    "timestamp": "2026-08-24T06:30:40.313993Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 54,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "941aea59c3afbdde",
    "parent_span_id": "99d8db44ba472e9b",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:40.626356Z",
    "timestamp": "2026-08-24T06:30:42.175629Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 81,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "span_id": "a37f7c99aa4ad600",
    "parent_span_id": "9cf62a1df52387f5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:42.277696Z",
    "timestamp": "2026-08-24T06:30:45.711515Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 116,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "be0ad5d6f7dcbed7",
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:36.004740Z",
    "timestamp": "2026-08-24T06:30:45.799891Z",
    "data": {
      "thread.id": "140635933092736",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "a392551d2869f8bd",
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "parent_span_id": "be0ad5d6f7dcbed7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553036.005717,
    "timestamp": 1787553038.309268,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 2.10212582500003,
      "gen_ai.response.text": "Paris. It’s the capital and largest city of France, located in the Île-de-France region in the north-central part of the country. Want more details about Paris?",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 364,
      "gen_ai.usage.output_tokens.reasoning": 320,
      "gen_ai.usage.total_tokens": 387,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "be0ad5d6f7dcbed7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a5b0131f43658c47",
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "parent_span_id": "be0ad5d6f7dcbed7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553038.309388,
    "timestamp": 1787553040.624559,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 2.005248387999927,
      "gen_ai.response.text": "4. If you have 2 and add 2 more, you get 4. Want a quick demonstration (like on a number line) or a related practice problem?",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 300,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 324,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "be0ad5d6f7dcbed7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "99d8db44ba472e9b",
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "parent_span_id": "be0ad5d6f7dcbed7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553040.624667,
    "timestamp": 1787553042.272325,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 1.551579072000095,
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 208,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 252,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "be0ad5d6f7dcbed7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9cf62a1df52387f5",
    "trace_id": "a257e557ff60498caf57d15aec00b122",
    "parent_span_id": "be0ad5d6f7dcbed7",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553042.272428,
    "timestamp": 1787553045.786686,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140635933092736",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.time_to_first_token": 3.439726270999927,
      "gen_ai.response.text": "3 + 3 = 6.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 273,
      "gen_ai.usage.output_tokens.reasoning": 256,
      "gen_ai.usage.total_tokens": 323,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "be0ad5d6f7dcbed7",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (async, streaming, responses)❗︎ 110992ms
checkAISpanCount(4)
checkChatSpanAttributes
ae2b2a35gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
ae2b2a35gen_ai.output.messagesMissing output messages attribute
b48c255egen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b48c255egen_ai.output.messagesMissing output messages attribute
82892959gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
82892959gen_ai.output.messagesMissing output messages attribute
b59d4c03gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b59d4c03gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "a8b315228648b420",
    "parent_span_id": "ae2b2a3572622f63",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:36.338167Z",
    "timestamp": "2026-08-24T06:30:36.339086Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20618
    },
    "data": {
      "thread.id": "140276383348416",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "ad4c2b9044e9fe48",
    "parent_span_id": "ae2b2a3572622f63",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:36.339148Z",
    "timestamp": "2026-08-24T06:30:36.339741Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20618
    },
    "data": {
      "thread.id": "140276383348416",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "b813a19234216ad1",
    "parent_span_id": "ad4c2b9044e9fe48",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:36.339694Z",
    "timestamp": "2026-08-24T06:30:36.339730Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20618
    },
    "data": {
      "thread.id": "140276383348416",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "b627d9d22dcaddb0",
    "parent_span_id": "ae2b2a3572622f63",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:36.339767Z",
    "timestamp": "2026-08-24T06:30:36.339778Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20618
    },
    "data": {
      "thread.id": "140276383348416",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "8ceeb550c66af783",
    "parent_span_id": "ae2b2a3572622f63",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:36.340806Z",
    "timestamp": "2026-08-24T06:30:36.628137Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 27,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "924b24e69a2b07ff",
    "parent_span_id": "b48c255e88b930b4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:38.384044Z",
    "timestamp": "2026-08-24T06:30:39.172413Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 50,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "a5cb20b0acea2c3d",
    "parent_span_id": "82892959b988bdd7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:41.525923Z",
    "timestamp": "2026-08-24T06:30:41.850836Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 73,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "span_id": "8a2bbccd4022edc6",
    "parent_span_id": "b59d4c039ad05ed7",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:43.184381Z",
    "timestamp": "2026-08-24T06:30:43.503497Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 104,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-streaming-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "91de5a0173e5f055",
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:36.333061Z",
    "timestamp": "2026-08-24T06:30:45.374974Z",
    "data": {
      "thread.id": "140276544068480",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "ae2b2a3572622f63",
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "parent_span_id": "91de5a0173e5f055",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553036.334149,
    "timestamp": 1787553038.382249,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 152,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 175,
      "gen_ai.response.time_to_first_token": 1.8142091960000926,
      "gen_ai.response.text": "Paris.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "91de5a0173e5f055",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b48c255e88b930b4",
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "parent_span_id": "91de5a0173e5f055",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553038.382362,
    "timestamp": 1787553041.523942,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 450,
      "gen_ai.usage.output_tokens.reasoning": 384,
      "gen_ai.usage.total_tokens": 474,
      "gen_ai.response.time_to_first_token": 2.657808113999863,
      "gen_ai.response.text": "4. If you have two and add two more, you get four (e.g., two apples plus two apples equals four apples). Want a quick check with a visual or a few practice problems?",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "91de5a0173e5f055",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "82892959b988bdd7",
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "parent_span_id": "91de5a0173e5f055",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553041.524034,
    "timestamp": 1787553043.182431,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 177,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 221,
      "gen_ai.response.time_to_first_token": 1.2989489899998716,
      "gen_ai.response.text": "The capital of Germany is Berlin.",
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "91de5a0173e5f055",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b59d4c039ad05ed7",
    "trace_id": "d7f07758a7be493db5bcad63ce412248",
    "parent_span_id": "91de5a0173e5f055",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553043.182526,
    "timestamp": 1787553045.367199,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140276544068480",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": true,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 300,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 350,
      "gen_ai.response.time_to_first_token": 1.7279576760001873,
      "gen_ai.response.text": "3 + 3 = 6.\n\nReason: adding two equal numbers doubles the value, so 3 + 3 = 2 × 3 = 6.Want more practice or a quick explanation with a few examples?",
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "91de5a0173e5f055",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (async, blocking, chat)❗︎ 19782ms
checkAISpanCount(4)
checkChatSpanAttributes
b34e0e63gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b34e0e63gen_ai.output.messagesMissing output messages attribute
a0decf79gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
a0decf79gen_ai.output.messagesMissing output messages attribute
b6616660gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
b6616660gen_ai.output.messagesMissing output messages attribute
8d81ccd5gen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
8d81ccd5gen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "8961dfbf694c5f14",
    "parent_span_id": "b34e0e630adab88d",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:37.750820Z",
    "timestamp": "2026-08-24T06:30:37.751749Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20645
    },
    "data": {
      "thread.id": "140479387662016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "9185f996171fc28a",
    "parent_span_id": "b34e0e630adab88d",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:37.751812Z",
    "timestamp": "2026-08-24T06:30:37.752340Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20645
    },
    "data": {
      "thread.id": "140479387662016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "84f85bea8bb7a188",
    "parent_span_id": "9185f996171fc28a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:37.752298Z",
    "timestamp": "2026-08-24T06:30:37.752331Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20645
    },
    "data": {
      "thread.id": "140479387662016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "a786efe46f42d4d2",
    "parent_span_id": "b34e0e630adab88d",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:37.752365Z",
    "timestamp": "2026-08-24T06:30:37.752374Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20645
    },
    "data": {
      "thread.id": "140479387662016",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "a62d8b61c58bb32a",
    "parent_span_id": "b34e0e630adab88d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:37.753456Z",
    "timestamp": "2026-08-24T06:30:39.371512Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 27,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "b3edd0aa20496371",
    "parent_span_id": "a0decf796c26656d",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:39.403162Z",
    "timestamp": "2026-08-24T06:30:42.582436Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 46,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "9b1c4490d2eb08e3",
    "parent_span_id": "b66166609aa44817",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:42.588533Z",
    "timestamp": "2026-08-24T06:30:43.868781Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 65,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "span_id": "b83847c92c275fe6",
    "parent_span_id": "8d81ccd56e4a69a0",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/chat/completions",
    "start_timestamp": "2026-08-24T06:30:43.871831Z",
    "timestamp": "2026-08-24T06:30:45.596941Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/chat/completions",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 92,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-chat.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "acee12e3b66e2767",
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:37.747260Z",
    "timestamp": "2026-08-24T06:30:45.603922Z",
    "data": {
      "thread.id": "140479544380288",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "b34e0e630adab88d",
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "parent_span_id": "acee12e3b66e2767",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553037.748317,
    "timestamp": 1787553039.395329,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"Paris.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 203,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 226,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "acee12e3b66e2767",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "a0decf796c26656d",
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "parent_span_id": "acee12e3b66e2767",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553039.395434,
    "timestamp": 1787553042.583188,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"4\\n\\nIn base-10 arithmetic, 2 + 2 equals 4. If you\\u2019re thinking in a different base, I can convert it (for example, in base 4, 2 + 2 = 10).\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 569,
      "gen_ai.usage.output_tokens.reasoning": 512,
      "gen_ai.usage.total_tokens": 593,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "acee12e3b66e2767",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "b66166609aa44817",
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "parent_span_id": "acee12e3b66e2767",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553042.583293,
    "timestamp": 1787553043.869457,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"The capital of Germany is Berlin.\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 80,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 124,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "acee12e3b66e2767",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "8d81ccd56e4a69a0",
    "trace_id": "a6baa43a29ee46e897fd0268f61af88a",
    "parent_span_id": "acee12e3b66e2767",
    "op": "gen_ai.chat",
    "description": "chat gpt-5-nano",
    "start_timestamp": 1787553043.869559,
    "timestamp": 1787553045.597598,
    "data": {
      "sentry.op": "gen_ai.chat",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140479544380288",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "chat",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "{\"content\": \"3 + 3 equals 6.\\n\\nWant a quick explanation or more practice with addition?\", \"refusal\": \"None\", \"role\": \"assistant\", \"annotations\": [], \"audio\": \"None\", \"function_call\": \"None\", \"tool_calls\": \"None\"}",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 219,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 269,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "acee12e3b66e2767",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/openai :: Conversation ID LLM Test (async, blocking, responses)❗︎ 18645ms
checkAISpanCount(4)
checkChatSpanAttributes
99a4bf7cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
99a4bf7cgen_ai.output.messagesMissing output messages attribute
9095072cgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9095072cgen_ai.output.messagesMissing output messages attribute
98d1c1bfgen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
98d1c1bfgen_ai.output.messagesMissing output messages attribute
9457451agen_ai.response.textDeprecated attribute "gen_ai.response.text" is not allowed; use "gen_ai.output.messages" instead
9457451agen_ai.output.messagesMissing output messages attribute
checkConversationIds([conv-a, conv-b])
checkValidTokenUsage
checkInputMessagesSchema
checkResponseModel
Deprecated Attributes
gen_ai.request.messages(4 spans) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.response.text(4 spans) gen_ai.output.messages
Attribute "gen_ai.response.text" is deprecated. Use "gen_ai.output.messages" instead.
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
{}Captured Spans (13)
[
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "bdb77d560078c00b",
    "parent_span_id": "99a4bf7c78dd24c8",
    "same_process_as_parent": true,
    "op": "subprocess",
    "description": "uname -p",
    "start_timestamp": "2026-08-24T06:30:37.705946Z",
    "timestamp": "2026-08-24T06:30:37.707855Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20642
    },
    "data": {
      "thread.id": "140539843696320",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "8fa0c59bd7be063a",
    "parent_span_id": "99a4bf7c78dd24c8",
    "same_process_as_parent": true,
    "op": "subprocess.communicate",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:37.707940Z",
    "timestamp": "2026-08-24T06:30:37.708063Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20642
    },
    "data": {
      "thread.id": "140539843696320",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "b4994f2c86e858be",
    "parent_span_id": "8fa0c59bd7be063a",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:37.708025Z",
    "timestamp": "2026-08-24T06:30:37.708056Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20642
    },
    "data": {
      "thread.id": "140539843696320",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "81394015e1e3d602",
    "parent_span_id": "99a4bf7c78dd24c8",
    "same_process_as_parent": true,
    "op": "subprocess.wait",
    "description": null,
    "start_timestamp": "2026-08-24T06:30:37.708092Z",
    "timestamp": "2026-08-24T06:30:37.708103Z",
    "origin": "auto.subprocess.stdlib.subprocess",
    "tags": {
      "subprocess.pid": 20642
    },
    "data": {
      "thread.id": "140539843696320",
      "thread.name": "asyncio_0"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "a91a7a746fb104ed",
    "parent_span_id": "99a4bf7c78dd24c8",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:37.709527Z",
    "timestamp": "2026-08-24T06:30:38.999705Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 27,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "a65720f7982775ae",
    "parent_span_id": "9095072c91c43921",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:39.081359Z",
    "timestamp": "2026-08-24T06:30:41.225662Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 42,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "ae5ef185c7d08b52",
    "parent_span_id": "98d1c1bfbf9691ae",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:41.229366Z",
    "timestamp": "2026-08-24T06:30:43.009392Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 57,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "span_id": "82ff235d8ab178a8",
    "parent_span_id": "9457451a1359a3f4",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST https://api.openai.com/v1/responses",
    "start_timestamp": "2026-08-24T06:30:43.015012Z",
    "timestamp": "2026-08-24T06:30:44.822532Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "https://api.openai.com/v1/responses",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK",
      "code.lineno": 80,
      "code.namespace": "__main__",
      "code.filepath": "test-conversation-id-llm-test-async-blocking-responses.py",
      "code.function": "main"
    }
  },
  {
    "span_id": "97288402ec817860",
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "parent_span_id": null,
    "op": "test",
    "description": "Conversation ID LLM Test",
    "start_timestamp": "2026-08-24T06:30:37.696508Z",
    "timestamp": "2026-08-24T06:30:44.831065Z",
    "data": {
      "thread.id": "140539922803584",
      "thread.name": "MainThread"
    }
  },
  {
    "span_id": "99a4bf7c78dd24c8",
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "parent_span_id": "97288402ec817860",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553037.698436,
    "timestamp": 1787553039.080161,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "Paris.",
      "gen_ai.usage.input_tokens": 23,
      "gen_ai.usage.output_tokens": 112,
      "gen_ai.usage.output_tokens.reasoning": 64,
      "gen_ai.usage.total_tokens": 135,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97288402ec817860",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9095072c91c43921",
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "parent_span_id": "97288402ec817860",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553039.080258,
    "timestamp": 1787553041.226946,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "4\n\nIn standard arithmetic, 2 + 2 = 4. If you’d like, I can show a quick reasoning or give more problems.",
      "gen_ai.usage.input_tokens": 24,
      "gen_ai.usage.output_tokens": 200,
      "gen_ai.usage.output_tokens.reasoning": 128,
      "gen_ai.usage.total_tokens": 224,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97288402ec817860",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "98d1c1bfbf9691ae",
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "parent_span_id": "97288402ec817860",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553041.227081,
    "timestamp": 1787553043.010334,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a helpful assistant.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is the capital of France?\"}, {\"role\": \"assistant\", \"content\": \"The capital of France is Paris.\"}, {\"role\": \"user\", \"content\": \"What about Germany?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "The capital of Germany is Berlin. If you want more details about Berlin or Germany, I can help.",
      "gen_ai.usage.input_tokens": 44,
      "gen_ai.usage.output_tokens": 251,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 295,
      "gen_ai.conversation.id": "conv-a",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97288402ec817860",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  },
  {
    "span_id": "9457451a1359a3f4",
    "trace_id": "244c9760bb51452c92f48e16dc14c094",
    "parent_span_id": "97288402ec817860",
    "op": "gen_ai.responses",
    "description": "responses gpt-5-nano",
    "start_timestamp": 1787553043.010439,
    "timestamp": 1787553044.823492,
    "data": {
      "sentry.op": "gen_ai.responses",
      "sentry.origin": "auto.ai.openai",
      "thread.id": "140539922803584",
      "thread.name": "MainThread",
      "gen_ai.system": "openai",
      "gen_ai.response.streaming": false,
      "gen_ai.operation.name": "responses",
      "gen_ai.request.model": "gpt-5-nano",
      "gen_ai.system_instructions": "[{\"type\": \"text\", \"content\": \"You are a math tutor.\"}]",
      "gen_ai.request.messages": "[{\"role\": \"user\", \"content\": \"What is 2 + 2?\"}, {\"role\": \"assistant\", \"content\": \"2 + 2 equals 4.\"}, {\"role\": \"user\", \"content\": \"What about 3 + 3?\"}]",
      "gen_ai.response.model": "gpt-5-nano-2025-08-07",
      "gen_ai.response.text": "3 + 3 = 6.\n\nYou can think of it as two groups of three objects, which together make six. If you’d like, I can explain with a quick visual or a few more examples.",
      "gen_ai.usage.input_tokens": 50,
      "gen_ai.usage.output_tokens": 242,
      "gen_ai.usage.output_tokens.reasoning": 192,
      "gen_ai.usage.total_tokens": 292,
      "gen_ai.conversation.id": "conv-b",
      "sentry.release": "50578b960eae0938ee8b3d891f79600b2d28de17",
      "sentry.environment": "production",
      "server.address": "runnervm76f27",
      "sentry.segment.name": "Conversation ID LLM Test",
      "sentry.segment.id": "97288402ec817860",
      "sentry.sdk.name": "sentry.python",
      "sentry.sdk.version": "2.68.0",
      "process.runtime.name": "CPython",
      "process.runtime.version": "3.12.14"
    },
    "status": "ok",
    "is_segment": false
  }
]
python/fastmcp :: MCP Tool Error Test (async, blocking, stdio) 12580ms
checkMCPSpanCount(1)
checkMCPToolSpanAttributes
checkMCPToolError
989bedb9mcp.tool.result.is_errorExpected true
checkMCPServerAttributes
{}Captured Spans (2)
[
  {
    "trace_id": "db4b8c1ea12a4337aa0b6dbb4d8c5170",
    "span_id": "989bedb96bfee000",
    "parent_span_id": "b6b53a70d5741272",
    "same_process_as_parent": true,
    "op": "mcp.server",
    "description": "tools/call failing_tool",
    "start_timestamp": "2026-08-24T06:30:43.362496Z",
    "timestamp": "2026-08-24T06:30:43.634938Z",
    "origin": "auto.ai.mcp",
    "status": "internal_error",
    "tags": {
      "status": "internal_error"
    },
    "data": {
      "thread.id": "139852702784384",
      "thread.name": "MainThread",
      "mcp.tool.name": "failing_tool",
      "mcp.method.name": "tools/call",
      "network.transport": "pipe",
      "mcp.transport": "stdio",
      "mcp.request.id": 1,
      "mcp.request.argument.input": "test"
    }
  },
  {
    "span_id": "b6b53a70d5741272",
    "trace_id": "db4b8c1ea12a4337aa0b6dbb4d8c5170",
    "parent_span_id": null,
    "op": "test",
    "description": "MCP Tool Error Test",
    "start_timestamp": "2026-08-24T06:30:43.277663Z",
    "timestamp": "2026-08-24T06:30:43.637359Z",
    "data": {
      "thread.id": "139852702784384",
      "thread.name": "MainThread"
    }
  }
]
python/fastmcp :: MCP Tool Error Test (async, blocking, sse) 13058ms
checkMCPSpanCount(1)
checkMCPToolSpanAttributes
checkMCPToolError
ae434f24mcp.tool.result.is_errorExpected true
checkMCPServerAttributes
{}Captured Spans (10)
[
  {
    "span_id": "acd1c85587768149",
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "parent_span_id": "aaa532695665f107",
    "op": "http.server",
    "description": "http://127.0.0.1:30762/messages/",
    "start_timestamp": "2026-08-24T06:30:43.817603Z",
    "timestamp": "2026-08-24T06:30:43.820158Z",
    "data": {
      "thread.id": "139768565323456",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "span_id": "971bd136c6ed872d",
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "parent_span_id": "b447566178e7c5bc",
    "op": "http.server",
    "description": "http://127.0.0.1:30762/messages/",
    "start_timestamp": "2026-08-24T06:30:43.826757Z",
    "timestamp": "2026-08-24T06:30:43.828483Z",
    "data": {
      "thread.id": "139768565323456",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "span_id": "a973b3b5cd0262c8",
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "parent_span_id": "aac82ca94197c093",
    "op": "http.server",
    "description": "http://127.0.0.1:30762/messages/",
    "start_timestamp": "2026-08-24T06:30:43.832021Z",
    "timestamp": "2026-08-24T06:30:43.833439Z",
    "data": {
      "thread.id": "139768565323456",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "span_id": "ae434f2439d36a9f",
    "parent_span_id": "b321ec584fb35cb4",
    "same_process_as_parent": true,
    "op": "mcp.server",
    "description": "tools/call failing_tool",
    "start_timestamp": "2026-08-24T06:30:43.835210Z",
    "timestamp": "2026-08-24T06:30:43.917074Z",
    "origin": "auto.ai.mcp",
    "status": "internal_error",
    "tags": {
      "status": "internal_error"
    },
    "data": {
      "thread.id": "139768565323456",
      "thread.name": "Thread-1 (run_sse_server)",
      "mcp.tool.name": "failing_tool",
      "mcp.method.name": "tools/call",
      "network.transport": "tcp",
      "mcp.transport": "sse",
      "mcp.request.id": 1,
      "mcp.session.id": "cf2f4956f8394a6fa42186120ec3d4d6",
      "mcp.request.argument.input": "test"
    }
  },
  {
    "span_id": "b321ec584fb35cb4",
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "parent_span_id": "92d8dfd85b036ad1",
    "op": "http.server",
    "description": "/sse",
    "start_timestamp": "2026-08-24T06:30:43.805880Z",
    "timestamp": "2026-08-24T06:30:43.920905Z",
    "data": {
      "thread.id": "139768565323456",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "span_id": "92d8dfd85b036ad1",
    "parent_span_id": "95a3c856b396fa2c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "GET http://127.0.0.1:30762/sse",
    "start_timestamp": "2026-08-24T06:30:43.802573Z",
    "timestamp": "2026-08-24T06:30:43.809334Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "139768643308416",
      "thread.name": "MainThread",
      "http.method": "GET",
      "url": "http://127.0.0.1:30762/sse",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK"
    }
  },
  {
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "span_id": "aaa532695665f107",
    "parent_span_id": "95a3c856b396fa2c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30762/messages/",
    "start_timestamp": "2026-08-24T06:30:43.814385Z",
    "timestamp": "2026-08-24T06:30:43.819881Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "139768643308416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30762/messages/",
      "http.query": "session_id=cf2f4956f8394a6fa42186120ec3d4d6",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "span_id": "b447566178e7c5bc",
    "parent_span_id": "95a3c856b396fa2c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30762/messages/",
    "start_timestamp": "2026-08-24T06:30:43.825247Z",
    "timestamp": "2026-08-24T06:30:43.830164Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "139768643308416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30762/messages/",
      "http.query": "session_id=cf2f4956f8394a6fa42186120ec3d4d6",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "span_id": "aac82ca94197c093",
    "parent_span_id": "95a3c856b396fa2c",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30762/messages/",
    "start_timestamp": "2026-08-24T06:30:43.830456Z",
    "timestamp": "2026-08-24T06:30:43.836260Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "139768643308416",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30762/messages/",
      "http.query": "session_id=cf2f4956f8394a6fa42186120ec3d4d6",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "span_id": "95a3c856b396fa2c",
    "trace_id": "2e5ef500eee04e1d806ce7dcfaca241e",
    "parent_span_id": null,
    "op": "test",
    "description": "MCP Tool Error Test",
    "start_timestamp": "2026-08-24T06:30:43.648240Z",
    "timestamp": "2026-08-24T06:30:44.424077Z",
    "data": {
      "thread.id": "139768643308416",
      "thread.name": "MainThread"
    }
  }
]
python/mcp :: MCP Tool Error Test (async, blocking, stdio, highlevel) 12743ms
checkMCPSpanCount(1)
checkMCPToolSpanAttributes
checkMCPToolError
93aff1d5mcp.tool.result.is_errorExpected true
checkMCPServerAttributes
{}Captured Spans (2)
[
  {
    "trace_id": "94a58208cf494b368ff368b2d10c426d",
    "span_id": "93aff1d56de00c5c",
    "parent_span_id": "af22b1c37a638e68",
    "same_process_as_parent": true,
    "op": "mcp.server",
    "description": "tools/call failing_tool",
    "start_timestamp": "2026-08-24T06:30:47.160280Z",
    "timestamp": "2026-08-24T06:30:47.175704Z",
    "origin": "auto.ai.mcp",
    "status": "internal_error",
    "tags": {
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140144406666112",
      "thread.name": "MainThread",
      "mcp.tool.name": "failing_tool",
      "mcp.method.name": "tools/call",
      "network.transport": "pipe",
      "mcp.transport": "stdio",
      "mcp.request.id": 1,
      "mcp.request.argument.input": "test"
    }
  },
  {
    "span_id": "af22b1c37a638e68",
    "trace_id": "94a58208cf494b368ff368b2d10c426d",
    "parent_span_id": null,
    "op": "test",
    "description": "MCP Tool Error Test",
    "start_timestamp": "2026-08-24T06:30:47.129369Z",
    "timestamp": "2026-08-24T06:30:47.176859Z",
    "data": {
      "thread.id": "140144406666112",
      "thread.name": "MainThread"
    }
  }
]
python/mcp :: MCP Tool Error Test (async, blocking, stdio, lowlevel) 12661ms
checkMCPSpanCount(1)
checkMCPToolSpanAttributes
checkMCPToolError
b29724c9mcp.tool.result.is_errorExpected true
checkMCPServerAttributes
{}Captured Spans (2)
[
  {
    "trace_id": "bffc00cc77374bf0ac3fd6909addb981",
    "span_id": "b29724c9465ac357",
    "parent_span_id": "afe502787bc3a1d6",
    "same_process_as_parent": true,
    "op": "mcp.server",
    "description": "tools/call failing_tool",
    "start_timestamp": "2026-08-24T06:30:47.528690Z",
    "timestamp": "2026-08-24T06:30:47.530525Z",
    "origin": "auto.ai.mcp",
    "status": "internal_error",
    "tags": {
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140483949579136",
      "thread.name": "MainThread",
      "mcp.tool.name": "failing_tool",
      "mcp.method.name": "tools/call",
      "network.transport": "pipe",
      "mcp.transport": "stdio",
      "mcp.request.id": 1,
      "mcp.request.argument.input": "test"
    }
  },
  {
    "span_id": "afe502787bc3a1d6",
    "trace_id": "bffc00cc77374bf0ac3fd6909addb981",
    "parent_span_id": null,
    "op": "test",
    "description": "MCP Tool Error Test",
    "start_timestamp": "2026-08-24T06:30:47.507930Z",
    "timestamp": "2026-08-24T06:30:47.531663Z",
    "data": {
      "thread.id": "140483949579136",
      "thread.name": "MainThread"
    }
  }
]
python/mcp :: MCP Tool Error Test (async, blocking, sse, highlevel) 13351ms
checkMCPSpanCount(1)
checkMCPToolSpanAttributes
checkMCPToolError
aedeb534mcp.tool.result.is_errorExpected true
checkMCPServerAttributes
{}Captured Spans (10)
[
  {
    "span_id": "ae27f9e324e48d0a",
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "parent_span_id": "a5bf5ea8285ce8eb",
    "op": "http.server",
    "description": "http://127.0.0.1:30768/messages/",
    "start_timestamp": "2026-08-24T06:30:47.757976Z",
    "timestamp": "2026-08-24T06:30:47.758860Z",
    "data": {
      "thread.id": "140451372848832",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "span_id": "810e182e99cb7827",
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "parent_span_id": "bb8936640e71d016",
    "op": "http.server",
    "description": "http://127.0.0.1:30768/messages/",
    "start_timestamp": "2026-08-24T06:30:47.773028Z",
    "timestamp": "2026-08-24T06:30:47.774134Z",
    "data": {
      "thread.id": "140451372848832",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "span_id": "b32426d39c051d3a",
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "parent_span_id": "a13e9c37f339d8a0",
    "op": "http.server",
    "description": "http://127.0.0.1:30768/messages/",
    "start_timestamp": "2026-08-24T06:30:47.785995Z",
    "timestamp": "2026-08-24T06:30:47.786706Z",
    "data": {
      "thread.id": "140451372848832",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "span_id": "aedeb534d9cef26e",
    "parent_span_id": "a159fb74657b1864",
    "same_process_as_parent": true,
    "op": "mcp.server",
    "description": "tools/call failing_tool",
    "start_timestamp": "2026-08-24T06:30:47.787972Z",
    "timestamp": "2026-08-24T06:30:47.795070Z",
    "origin": "auto.ai.mcp",
    "status": "internal_error",
    "tags": {
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140451372848832",
      "thread.name": "Thread-1 (run_sse_server)",
      "mcp.tool.name": "failing_tool",
      "mcp.method.name": "tools/call",
      "network.transport": "tcp",
      "mcp.transport": "sse",
      "mcp.request.id": 1,
      "mcp.session.id": "48d99c9d467f4e2aa71762ccbc4c83cd",
      "mcp.request.argument.input": "test"
    }
  },
  {
    "span_id": "a159fb74657b1864",
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "parent_span_id": "9be7671d89e82105",
    "op": "http.server",
    "description": "/sse",
    "start_timestamp": "2026-08-24T06:30:47.743797Z",
    "timestamp": "2026-08-24T06:30:47.800491Z",
    "data": {
      "thread.id": "140451372848832",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 200
    },
    "status": "ok"
  },
  {
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "span_id": "9be7671d89e82105",
    "parent_span_id": "baaa8e9a801ee424",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "GET http://127.0.0.1:30768/sse",
    "start_timestamp": "2026-08-24T06:30:47.736174Z",
    "timestamp": "2026-08-24T06:30:47.748573Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140451444108160",
      "thread.name": "MainThread",
      "http.method": "GET",
      "url": "http://127.0.0.1:30768/sse",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK"
    }
  },
  {
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "span_id": "a5bf5ea8285ce8eb",
    "parent_span_id": "baaa8e9a801ee424",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30768/messages/",
    "start_timestamp": "2026-08-24T06:30:47.752164Z",
    "timestamp": "2026-08-24T06:30:47.764034Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "140451444108160",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30768/messages/",
      "http.query": "session_id=48d99c9d467f4e2aa71762ccbc4c83cd",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "span_id": "bb8936640e71d016",
    "parent_span_id": "baaa8e9a801ee424",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30768/messages/",
    "start_timestamp": "2026-08-24T06:30:47.768172Z",
    "timestamp": "2026-08-24T06:30:47.778035Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "140451444108160",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30768/messages/",
      "http.query": "session_id=48d99c9d467f4e2aa71762ccbc4c83cd",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "span_id": "a13e9c37f339d8a0",
    "parent_span_id": "baaa8e9a801ee424",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30768/messages/",
    "start_timestamp": "2026-08-24T06:30:47.778419Z",
    "timestamp": "2026-08-24T06:30:47.789900Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "140451444108160",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30768/messages/",
      "http.query": "session_id=48d99c9d467f4e2aa71762ccbc4c83cd",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "span_id": "baaa8e9a801ee424",
    "trace_id": "0d1a564e9dba425dab91a7bf5154bb19",
    "parent_span_id": null,
    "op": "test",
    "description": "MCP Tool Error Test",
    "start_timestamp": "2026-08-24T06:30:47.551797Z",
    "timestamp": "2026-08-24T06:30:48.301650Z",
    "data": {
      "thread.id": "140451444108160",
      "thread.name": "MainThread"
    }
  }
]
python/mcp :: MCP Tool Error Test (async, blocking, sse, lowlevel) 12433ms
checkMCPSpanCount(1)
checkMCPToolSpanAttributes
checkMCPToolError
81aeb9c3mcp.tool.result.is_errorExpected true
checkMCPServerAttributes
{}Captured Spans (10)
[
  {
    "span_id": "bbb44cf89a67664a",
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "parent_span_id": "a9de41b00161ebd0",
    "op": "http.server",
    "description": "http://127.0.0.1:30769/messages/",
    "start_timestamp": "2026-08-24T06:30:47.733332Z",
    "timestamp": "2026-08-24T06:30:47.739977Z",
    "data": {
      "thread.id": "140600116508352",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "span_id": "a647e8b3c9885e71",
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "parent_span_id": "ae8b066a1c39eb99",
    "op": "http.server",
    "description": "http://127.0.0.1:30769/messages/",
    "start_timestamp": "2026-08-24T06:30:47.762136Z",
    "timestamp": "2026-08-24T06:30:47.763851Z",
    "data": {
      "thread.id": "140600116508352",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "span_id": "af7863859c1cdfeb",
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "parent_span_id": "8b4d843ed7c3b14c",
    "op": "http.server",
    "description": "http://127.0.0.1:30769/messages/",
    "start_timestamp": "2026-08-24T06:30:47.775780Z",
    "timestamp": "2026-08-24T06:30:47.779152Z",
    "data": {
      "thread.id": "140600116508352",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 202
    },
    "status": "ok"
  },
  {
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "span_id": "81aeb9c317d5fa8c",
    "parent_span_id": "abc447648a0b04d8",
    "same_process_as_parent": true,
    "op": "mcp.server",
    "description": "tools/call failing_tool",
    "start_timestamp": "2026-08-24T06:30:47.782770Z",
    "timestamp": "2026-08-24T06:30:47.784989Z",
    "origin": "auto.ai.mcp",
    "status": "internal_error",
    "tags": {
      "status": "internal_error"
    },
    "data": {
      "thread.id": "140600116508352",
      "thread.name": "Thread-1 (run_sse_server)",
      "mcp.tool.name": "failing_tool",
      "mcp.method.name": "tools/call",
      "network.transport": "tcp",
      "mcp.transport": "sse",
      "mcp.request.id": 1,
      "mcp.session.id": "e9dd8fb67b704c9f96d05d3a62551eb5",
      "mcp.request.argument.input": "test"
    }
  },
  {
    "span_id": "abc447648a0b04d8",
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "parent_span_id": "8910d5ac2e930698",
    "op": "http.server",
    "description": "/sse",
    "start_timestamp": "2026-08-24T06:30:47.713748Z",
    "timestamp": "2026-08-24T06:30:47.813442Z",
    "data": {
      "thread.id": "140600116508352",
      "thread.name": "Thread-1 (run_sse_server)",
      "http.response.status_code": 200
    },
    "status": "internal_error"
  },
  {
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "span_id": "8910d5ac2e930698",
    "parent_span_id": "800bc1e6297f09d5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "GET http://127.0.0.1:30769/sse",
    "start_timestamp": "2026-08-24T06:30:47.703525Z",
    "timestamp": "2026-08-24T06:30:47.723156Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "200",
      "status": "ok"
    },
    "data": {
      "thread.id": "140600268295040",
      "thread.name": "MainThread",
      "http.method": "GET",
      "url": "http://127.0.0.1:30769/sse",
      "http.query": "",
      "http.fragment": "",
      "http.response.status_code": 200,
      "reason": "OK"
    }
  },
  {
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "span_id": "a9de41b00161ebd0",
    "parent_span_id": "800bc1e6297f09d5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30769/messages/",
    "start_timestamp": "2026-08-24T06:30:47.724522Z",
    "timestamp": "2026-08-24T06:30:47.747937Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "140600268295040",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30769/messages/",
      "http.query": "session_id=e9dd8fb67b704c9f96d05d3a62551eb5",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "span_id": "ae8b066a1c39eb99",
    "parent_span_id": "800bc1e6297f09d5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30769/messages/",
    "start_timestamp": "2026-08-24T06:30:47.760842Z",
    "timestamp": "2026-08-24T06:30:47.768505Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "140600268295040",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30769/messages/",
      "http.query": "session_id=e9dd8fb67b704c9f96d05d3a62551eb5",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "span_id": "8b4d843ed7c3b14c",
    "parent_span_id": "800bc1e6297f09d5",
    "same_process_as_parent": true,
    "op": "http.client",
    "description": "POST http://127.0.0.1:30769/messages/",
    "start_timestamp": "2026-08-24T06:30:47.771256Z",
    "timestamp": "2026-08-24T06:30:47.787865Z",
    "origin": "auto.http.httpx",
    "status": "ok",
    "tags": {
      "http.status_code": "202",
      "status": "ok"
    },
    "data": {
      "thread.id": "140600268295040",
      "thread.name": "MainThread",
      "http.method": "POST",
      "url": "http://127.0.0.1:30769/messages/",
      "http.query": "session_id=e9dd8fb67b704c9f96d05d3a62551eb5",
      "http.fragment": "",
      "http.response.status_code": 202,
      "reason": "Accepted"
    }
  },
  {
    "span_id": "800bc1e6297f09d5",
    "trace_id": "06195baadd4b411a8c98b38f53abb683",
    "parent_span_id": null,
    "op": "test",
    "description": "MCP Tool Error Test",
    "start_timestamp": "2026-08-24T06:30:47.484074Z",
    "timestamp": "2026-08-24T06:30:48.291032Z",
    "data": {
      "thread.id": "140600268295040",
      "thread.name": "MainThread"
    }
  }
]

Warnings (70 tests)

Passed tests with warning-level check failures.

⚠︎cloudflare/vercel :: Basic Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
a206ef7egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Basic Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
8c6a92f5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Basic Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
ae9452b4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Basic Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
9d043956gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Call Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
84ad9133gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a744dfcdgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a7f44e5dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Call Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
b9a1b7c3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
aff930fagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a04e0733gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Call Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
bcebe02fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
83719a71gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b2cb6689gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Call Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
aee8e9c4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
912c9231gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8cd8b220gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Error Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
9354a165gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9dfdeaabgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Error Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
a21ac988gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ac556f21gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Error Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
bf9a9095gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b905b9abgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Tool Error Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
81c30141gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b04dac97gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Long Input Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
8056e183gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
87af31e8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Long Input Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
bb3702e9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8ee22ff3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Long Input Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
a0a62c34gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
89c0ef83gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Long Input Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
9dafbdf9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b5f241bfgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Conversation ID Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
845e0376gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
96caa0efgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9d8fd942gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
805296b3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Conversation ID Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
a31d1351gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
93b0f726gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
bb3e8038gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a9602121gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Conversation ID Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
851f0fdfgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
bb43ccc0gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a8f83992gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
abc0ac55gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎cloudflare/vercel :: Conversation ID Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
8e2d0dcagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9bd70ef6gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b33fde9cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
949f931fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Basic Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
8f40e281gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Basic Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
8248575egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Basic Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
81287d37gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Basic Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
b7d52b19gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Call Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
bc908d7bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a96345b4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8ea64ff2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Call Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
ae94299agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
93a36797gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b8a78febgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Call Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
9dff4c93gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a84c53bcgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9055b375gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Call Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
9946db62gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8c5ced46gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b74a1034gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Error Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
beaeeaaegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
aa1f7771gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Error Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
a1bed33bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
95f3e21agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Error Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
94dd1965gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ba2957f4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Tool Error Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
9ccc067agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
bf5376ccgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Long Input Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
966dd4bagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ba3296fagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Long Input Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
9b4ce214gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a74f88fdgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Long Input Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
8c02a3cagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b274e7c6gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Long Input Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
988ccd81gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8f5ebbcegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Conversation ID Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
a82626a4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a5937785gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b92692f2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b1c59240gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Conversation ID Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
aca549f7gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
85ec609bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9ce2181agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
96e07a68gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Conversation ID Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
94eb1a37gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a3ec6591gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
83af45dbgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b19f1565gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎nextjs/vercel :: Conversation ID Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
91062263gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9ada1cdfgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ae8ac23dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
98be1260gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Basic Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
ade1574cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Basic Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
83b6fad5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Basic Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
abf8303cgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Basic Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
8add23d9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Call Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
b9a8cb36gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b572de3dgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
945d2adegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Call Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
99369012gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
aac7eae5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
acc633b7gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Call Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
8a7dc7f9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
856bd9a8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
83bd1c07gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Call Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
8dcc015agen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
af3d9626gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
bf069bf2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Error Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
83528bd0gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ab7a4cf4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Error Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
a0b575bbgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8c4299b4gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Error Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
9e2bc7aegen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9b270685gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Tool Error Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
8314fde5gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
890cf33bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Long Input Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
99777fb8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b2190ac9gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Long Input Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
90fb58b1gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a0fa585bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Long Input Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
8a913233gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9ae2f576gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Long Input Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
8710eb0egen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
bc943cd3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Conversation ID Agent Test (streaming, function, anthropic)⚠︎ 1
checkResponseModel
a5b061a2gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8ab51f20gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
955d8206gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ab3f3dc3gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Conversation ID Agent Test (streaming, class, anthropic)⚠︎ 1
checkResponseModel
ac90f070gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8209031fgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
83b648a1gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a304a784gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Conversation ID Agent Test (blocking, function, anthropic)⚠︎ 1
checkResponseModel
8946c552gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
bfb00ccagen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
9ff95854gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
a4b39575gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎node/vercel :: Conversation ID Agent Test (blocking, class, anthropic)⚠︎ 1
checkResponseModel
921f8de8gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
ad45344bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
b01aab45gen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
8bdc6b7bgen_ai.response.modelgen_ai.response.model "anthropic/claude-haiku-4.5" does not match expected pattern "anthropic/claude-haiku-4-5*"
⚠︎browser/google-genai :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
836b9710gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎browser/langchain :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
9dd728f9gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎cloudflare/google-genai :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
af75667dgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎cloudflare/langchain :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
95157bc7gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎nextjs/google-genai :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
84958080gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎nextjs/langchain :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
a64be109gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎node/google-genai :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
bff48c25gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎node/langchain :: Basic Embeddings Test (blocking)⚠︎ 1
checkResponseModel
bb108f9bgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎python/google-genai :: Basic Embeddings Test (sync, blocking)⚠︎ 1
checkResponseModel
8273f01dgen_ai.response.modelgen_ai.response.model is missing (optional but recommended)
⚠︎python/google-genai :: Basic Embeddings Test (async, blocking)⚠︎ 1
checkResponseModel
bf3f3ad6gen_ai.response.modelgen_ai.response.model is missing (optional but recommended)

Attribute Audit (200 tests)

Audit of gen_ai.* attributes found on captured spans.

⚠︎cloudflare/vercel :: Basic Agent Test (streaming, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Basic Agent Test (streaming, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Basic Agent Test (streaming, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Basic Agent Test (streaming, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Basic Agent Test (blocking, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Basic Agent Test (blocking, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Basic Agent Test (blocking, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Basic Agent Test (blocking, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (streaming, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (streaming, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (streaming, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (streaming, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (blocking, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (blocking, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (blocking, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Call Agent Test (blocking, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (streaming, function, openai)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (streaming, function, anthropic)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (streaming, class, openai)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (streaming, class, anthropic)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (blocking, function, openai)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (blocking, function, anthropic)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (blocking, class, openai)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Tool Error Agent Test (blocking, class, anthropic)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (streaming, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (streaming, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (streaming, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (streaming, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (blocking, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (blocking, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (blocking, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Long Input Agent Test (blocking, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Conversation ID Agent Test (streaming, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Conversation ID Agent Test (streaming, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Conversation ID Agent Test (streaming, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Conversation ID Agent Test (streaming, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Conversation ID Agent Test (blocking, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Conversation ID Agent Test (blocking, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/vercel :: Conversation ID Agent Test (blocking, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎cloudflare/vercel :: Conversation ID Agent Test (blocking, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Basic Agent Test (streaming, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Basic Agent Test (streaming, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Basic Agent Test (streaming, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Basic Agent Test (streaming, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Basic Agent Test (blocking, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Basic Agent Test (blocking, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Basic Agent Test (blocking, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Basic Agent Test (blocking, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (streaming, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (streaming, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (streaming, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (streaming, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (blocking, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (blocking, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (blocking, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Call Agent Test (blocking, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (streaming, function, openai)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (streaming, function, anthropic)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (streaming, class, openai)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (streaming, class, anthropic)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (blocking, function, openai)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (blocking, function, anthropic)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (blocking, class, openai)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Tool Error Agent Test (blocking, class, anthropic)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (streaming, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (streaming, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (streaming, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (streaming, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (blocking, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (blocking, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (blocking, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Long Input Agent Test (blocking, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Conversation ID Agent Test (streaming, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Conversation ID Agent Test (streaming, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Conversation ID Agent Test (streaming, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Conversation ID Agent Test (streaming, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Conversation ID Agent Test (blocking, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Conversation ID Agent Test (blocking, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/vercel :: Conversation ID Agent Test (blocking, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎nextjs/vercel :: Conversation ID Agent Test (blocking, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Basic Agent Test (streaming, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Basic Agent Test (streaming, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Basic Agent Test (streaming, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Basic Agent Test (streaming, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Basic Agent Test (blocking, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Basic Agent Test (blocking, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Basic Agent Test (blocking, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Basic Agent Test (blocking, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(2 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (streaming, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (streaming, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (streaming, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (streaming, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (blocking, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (blocking, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (blocking, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Call Agent Test (blocking, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(3 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(3 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(2 spans) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(2 spans) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(4 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(2 spans)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (streaming, function, anthropic)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (streaming, class, openai)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (streaming, class, anthropic)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (blocking, function, openai)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (blocking, function, anthropic)3 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (blocking, class, openai)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Tool Error Agent Test (blocking, class, anthropic)3 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (streaming, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (streaming, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (streaming, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (streaming, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (blocking, function, openai)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (blocking, function, anthropic)4 deprecated, 1 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (blocking, class, openai)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Long Input Agent Test (blocking, class, anthropic)4 deprecated, 2 unknown
Deprecated Attributes
gen_ai.request.available_tools(2 spans) gen_ai.tool.definitions
Attribute "gen_ai.request.available_tools" is deprecated. Use "gen_ai.tool.definitions" instead.
gen_ai.system(2 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
gen_ai.tool.input(1 span) gen_ai.tool.call.arguments
Attribute "gen_ai.tool.input" is deprecated. Use "gen_ai.tool.call.arguments" instead.
gen_ai.tool.output(1 span) gen_ai.tool.call.result
Attribute "gen_ai.tool.output" is deprecated. Use "gen_ai.tool.call.result" instead.
Unknown Attributes
gen_ai.function_id(3 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
gen_ai.tool.call.id(1 span)
Attribute "gen_ai.tool.call.id" is not defined in sentry-conventions
⚠︎node/vercel :: Conversation ID Agent Test (streaming, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Conversation ID Agent Test (streaming, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Conversation ID Agent Test (streaming, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Conversation ID Agent Test (streaming, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Conversation ID Agent Test (blocking, function, openai)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Conversation ID Agent Test (blocking, function, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/vercel :: Conversation ID Agent Test (blocking, class, openai)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎node/vercel :: Conversation ID Agent Test (blocking, class, anthropic)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(4 spans) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.function_id(8 spans)
Attribute "gen_ai.function_id" is not defined in sentry-conventions
⚠︎browser/google-genai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/langchain :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/openai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/google-genai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/langchain :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/openai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/google-genai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/langchain :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/openai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/google-genai :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/langchain :: Basic Embeddings Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/google-genai :: Basic Embeddings Test (sync, blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/google-genai :: Basic Embeddings Test (async, blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/litellm :: Basic Embeddings Test (sync, blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Embeddings Test (sync, blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Embeddings Test (async, blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/anthropic :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/anthropic :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/google-genai :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/google-genai :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/langchain :: Basic Error LLM Test (streaming, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/langchain :: Basic Error LLM Test (blocking, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/openai :: Basic Error LLM Test (streaming, chat)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎browser/openai :: Basic Error LLM Test (streaming, responses)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎browser/openai :: Basic Error LLM Test (blocking, chat)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎browser/openai :: Basic Error LLM Test (blocking, responses)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/anthropic :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/anthropic :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/google-genai :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/google-genai :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/langchain :: Basic Error LLM Test (streaming, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/langchain :: Basic Error LLM Test (streaming, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/langchain :: Basic Error LLM Test (blocking, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/langchain :: Basic Error LLM Test (blocking, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/openai :: Basic Error LLM Test (streaming, chat)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎cloudflare/openai :: Basic Error LLM Test (streaming, responses)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎cloudflare/openai :: Basic Error LLM Test (blocking, chat)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎cloudflare/openai :: Basic Error LLM Test (blocking, responses)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/anthropic :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/anthropic :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/google-genai :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/google-genai :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/langchain :: Basic Error LLM Test (streaming, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/langchain :: Basic Error LLM Test (streaming, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/langchain :: Basic Error LLM Test (blocking, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/langchain :: Basic Error LLM Test (blocking, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/openai :: Basic Error LLM Test (streaming, chat)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎nextjs/openai :: Basic Error LLM Test (streaming, responses)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎nextjs/openai :: Basic Error LLM Test (blocking, chat)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎nextjs/openai :: Basic Error LLM Test (blocking, responses)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/anthropic :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/anthropic :: Basic Error LLM Test (blocking)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/google-genai :: Basic Error LLM Test (streaming)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/langchain :: Basic Error LLM Test (streaming, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/langchain :: Basic Error LLM Test (streaming, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/langchain :: Basic Error LLM Test (blocking, openai)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/langchain :: Basic Error LLM Test (blocking, anthropic)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/openai :: Basic Error LLM Test (streaming, chat)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎node/openai :: Basic Error LLM Test (streaming, responses)1 deprecated, 1 unknown
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
Unknown Attributes
gen_ai.request.stream(1 span)
Attribute "gen_ai.request.stream" is not defined in sentry-conventions
⚠︎node/openai :: Basic Error LLM Test (blocking, chat)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎node/openai :: Basic Error LLM Test (blocking, responses)1 deprecated
Deprecated Attributes
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/anthropic :: Basic Error LLM Test (sync, streaming)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/anthropic :: Basic Error LLM Test (sync, blocking)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/anthropic :: Basic Error LLM Test (async, streaming)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/anthropic :: Basic Error LLM Test (async, blocking)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/google-genai :: Basic Error LLM Test (sync, streaming)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/google-genai :: Basic Error LLM Test (sync, blocking)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/google-genai :: Basic Error LLM Test (async, streaming)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/google-genai :: Basic Error LLM Test (async, blocking)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/langchain :: Basic Error LLM Test (sync, streaming, anthropic)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/langchain :: Basic Error LLM Test (sync, blocking, anthropic)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/langchain :: Basic Error LLM Test (async, streaming, anthropic)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/langchain :: Basic Error LLM Test (async, blocking, anthropic)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (sync, streaming, chat)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (sync, streaming, responses)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (sync, blocking, chat)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (sync, blocking, responses)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (async, streaming, chat)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (async, streaming, responses)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (async, blocking, chat)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.
⚠︎python/openai :: Basic Error LLM Test (async, blocking, responses)2 deprecated
Deprecated Attributes
gen_ai.request.messages(1 span) gen_ai.input.messages
Attribute "gen_ai.request.messages" is deprecated. Use "gen_ai.input.messages" instead.
gen_ai.system(1 span) gen_ai.provider.name
Attribute "gen_ai.system" is deprecated. Use "gen_ai.provider.name" instead.